android从Json对象获取值
我正在扫描一个条形码,它从条形码api返回一个Json格式的结果 scan方法返回一个条形码编号,该编号使用截取请求获取相应的Json数据项。这似乎工作正常,因为jsonObject中的结果是:android从Json对象获取值,android,json,key-value,Android,Json,Key Value,我正在扫描一个条形码,它从条形码api返回一个Json格式的结果 scan方法返回一个条形码编号,该编号使用截取请求获取相应的Json数据项。这似乎工作正常,因为jsonObject中的结果是: {"valid":"true", "number":"021500058506", "itemname":"Lawry's Garlic Salt Coarse Ground W\/Parsley", "alias":"", "description":"", "avg_price":"
{"valid":"true",
"number":"021500058506",
"itemname":"Lawry's Garlic Salt Coarse Ground W\/Parsley",
"alias":"",
"description":"",
"avg_price":"",
"rate_up":0,
"rate_down":0}
问题在于提取“itemname”的值。使用下面的代码,我得到一个字符串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);
}
没有给我“itemname”的值吗
谢谢这一行:
JSONObject productItem = response.getJSONObject("");
需要:
JSONObject productItem = new JSONObject(YOUR_JSON_STRING);
JSONObject productItem=response.getJSONObject(“”)代码>是我想的问题。productItem
是否正确填写?是否收到错误消息?如果是的话,也把它放在问题中。@eyeballz-是的,我知道答案是上面文本中的jsonobject。对象通过getJSONObject(“”)通过ok,因为它是没有名称的单个项。至少我是这么想的。我通常会陷入麻烦。@眼珠-没有错误,只是空白值分配较早。尝试<代码>文本结果=响应.GETSHIPE(“ITENMEND”)< /代码>
JSONObject productItem = new JSONObject(YOUR_JSON_STRING);