我正在尝试解析从网络数据库获得的响应。我只得到一个价值,即卖家ID作为回应。当我尝试在JSON对象中传递它时,不知何故在它执行之后的toast并且在它没有被执行之后的toast。
我知道有很多相关问题,但我找不到什么错误...请帮忙。感谢。
try {
JSONArray jArray = new JSONArray(stuff.toString());
Toast.makeText(this, "len: " + jArray.length(), 1000).show(); // length is 1
for (int i = 0; i < jArray.length(); i++) {
Toast.makeText(this, "Arr: " + stuff, 1000).show();
// Arr: [{"seller_id":"5"}]
JSONObject jObject = jArray.getJSONObject(i);
j_id = jObject.getString(stuff);
// not getting executed
Toast.makeText(this, "JSON: " + j_id, 1000).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
Toast.makeText(this, "View: " + j_id, 1000).show(); // j_id is giving null value
这是我的json数据[{“seller_id”:“5”}]我试图从中获取卖家ID(即5)的价值。
答案 0 :(得分:2)
jObject.getString()方法args
中存在问题JSONObject jObject = jArray.getJSONObject(i);
j_id = jObject.getString(stuff);
你给阵列了。它应该是对象的名称,即seller_id
所以在修改之后你的代码将是j_id = jObject.getString(“seller_id”);
答案 1 :(得分:0)
在以下代码之后:
j_id = jObject.getString(stuff);
添加textview.settext(j_id);
并使用您的textview
名称
如果它不起作用,则显示完整的json data
。