Android Json移动到下一项
我有一个动态JSON字符串,如下所示:Android Json移动到下一项,android,json,Android,Json,我有一个动态JSON字符串,如下所示: {"_id":"7","food_name":"Fiber Balance"},{"_id":"8","food_name":"Sport +"} 我能得到第一个名字,但不能得到第二个。这是我获得第一个光纤平衡的代码: // Dynamic text TextView textViewDynamicText = (TextView)getActivity().findViewById(R.id.textViewDynamicText); String s
{"_id":"7","food_name":"Fiber Balance"},{"_id":"8","food_name":"Sport +"}
我能得到第一个名字,但不能得到第二个。这是我获得第一个光纤平衡的代码:
// Dynamic text
TextView textViewDynamicText = (TextView)getActivity().findViewById(R.id.textViewDynamicText);
String stringJSON = textViewDynamicText.getText().toString();
String stringFoodname = "";
try {
JSONObject jsonObject = new JSONObject(stringJSON);
Iterator<String> iter = jsonObject.keys();
while (iter.hasNext()) {
String key = iter.next();
try {
stringFoodname = jsonObject.getString("food_name");
Toast.makeText(getContext(), stringFoodname, Toast.LENGTH_LONG).show();
} catch (JSONException e) {
// Something went wrong!
}
}
} catch (org.json.JSONException e) {
// Something went wrong!
}
如何转到json字符串中的下一项?如果有多个数据超出了使用数组的需要,如果要从json获取所有数据,请使用下面的技巧
String json = "{\"_id\":\"7\",\"food_name\":\"Fiber Balance\"},{\"_id\":\"8\",\"food_name\":\"Sport +\"}";
json = "[" + json + "]";
try {
JSONArray array = new JSONArray(json);
for (int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
String foodName = object.getString("food_name");
Log.e("FoodName:", foodName);
}
} catch (JSONException e) {
e.printStackTrace();
Log.e("error", "json", e);
}
这里使用的不是格式良好的JSON。但是,可以通过将其封装在[and]中将其转换为JSON。然后可以将其作为数组处理。