0
我正在扫描一个条形码,它从条形码api返回Json格式的结果。android从Json对象中获取值
扫描方法正在返回一个条形码号码,它使用Volley请求来获取适当的项目Json数据。这似乎正常工作,因为在jsonObject的结果是:
{"valid":"true",
"number":"021500058506",
"itemname":"Lawry's Garlic Salt Coarse Ground W\/Parsley",
"alias":"",
"description":"",
"avg_price":"",
"rate_up":0,
"rate_down":0}
问题在于提取“itemname”的值。使用下面的代码,我得到了一个String textResult的空结果。
public void findProduct(){
final JsonObjectRequest jsObjRequest = new JsonObjectRequest
(Request.Method.GET, getUrl(), null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
String textResult = "";
try {
JSONObject productItem = response.getJSONObject("");
textResult = productItem.getString("itemname");
} catch (JSONException e1) {
e1.printStackTrace();
}
contentTxt.setText(textResult);
Toast toast = Toast.makeText(getApplicationContext(),
"Text Result" + textResult, Toast.LENGTH_LONG);
toast.show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if(error != null) Log.e("MainActivity", error.getMessage());
}
});
VolleyHelper.getInstance(getApplicationContext()).addToRequestQueue(jsObjRequest);
}
知道为什么:
textResult = productItem.getString("itemname");
是不是给我的 “ITEMNAME” 的价值?
感谢
'的JSONObject productItem = response.getJSONObject( “”);'是我想这个问题。 productItem是否正确填充? – eyeballz
您是否收到错误讯息?如果是的话,也把这个问题。 – eyeballz
@ eyeballz - 是的,我知道回复是上面文本中的jsonobject。该对象通过getJSONObject(“”)来确定,因为它是没有名称的单个项目。至少这就是我的想法。尽管我通常会陷入困境。 – bkane56