Android 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

我有一个动态JSON字符串,如下所示:

{"_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。然后可以将其作为数组处理。