我正在扫描条形码,该条形码以条形码api的形式返回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");
没有给我&#34; itemname&#34;的价值?
由于
答案 0 :(得分:0)
这一行:
JSONObject productItem = response.getJSONObject("");
需要:
JSONObject productItem = new JSONObject(YOUR_JSON_STRING);