2017-07-16 94 views
0

我有一個動態的JSON字符串,看起來像這樣:的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字符串中的下一個項目?

+0

你在這裏什麼沒有很好形成JSON。但是,您可以將其轉換爲JSON,方法是將其封裝在'['和']'中。然後你可以把它作爲一個數組來處理。 – Henry

回答

1

如果你有多個數據比你需要使用數組,如果你想從下面伎倆您的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); 
      } 
相關問題