2014-10-09 92 views
1

我有JSONArray與其中的不同JSONObjects。當我的方法被調用的時候,首先會創建JSONObject。當再次調用該方法時,將在前一個JSONObject旁邊調用另一個JSONObject。現在我想插入最新的JSONObject的元素。問題是JSONObject被插入到JSONArray中的任何地方。那麼如何獲取插入的最新JSONObject的元素。 這裏是我的JSONArray從JSONArray獲取JSONobject在android

[ 
    { 
     "letter": "E", 
     "col": 2, 
     "row": 5, 
     "badge": "1" 
    }, 
    { 
     "letter": "D", 
     "col": 2, 
     "row": 6, 
     "badge": "2" 
    }, 
    { 
     "letter": "Y", 
     "col": 2, 
     "row": 8, 
     "badge": "3" 
    } 
] 

在上面JSONArray我想針對Android創建的最新的JSONObject信。我在代碼中做了以下事情,但由於JSONObject放在任何地方,我沒有得到正確的字母。

JSONArray jarry1 = new JSONArray(allwordsss); 
for (int i = 0; i < jarry1.length(); i++) { 
    String all = jarry1.getString(i).toString(); 
    Log.e("TAG2", "All" + all); 
    JSONObject jobjjjj = new JSONObject(all); 
    letter = jobjjjj.getString("letter"); 
} 
Log.i("TAG2", "letter" + letter); 
+0

請擴展您的問題,包括您到目前爲止嘗試過的內容,以及您正在使用哪個json庫。 – ScouseChris 2014-10-09 11:16:25

+0

我已更新我的帖子請看看它..而我從服務器獲取數據.. – 2014-10-09 11:20:19

+0

你不知道哪個jsonobject最後放在數組中,除非你將它存儲在某個地方。並請澄清你在說什麼。對我而言,你沒有多大意義。 – stealthjong 2014-10-09 11:25:49

回答

1

訪問到你的數組中的最新字母:

String letter; 
try { 
    JSONArray array = new JSONArray(json); 
    JSONObject object = array.getJSONObject(array.length()-1); 

    if (object.has("letter")) // according to defensive programming rules 
      letter = object.getString("letter"); 
catch { 
    letter = "error..."; 
} 
+0

我只是不知道JSONObject插入的位置。所以我不能使用它。 – 2014-10-09 11:28:01

+0

您可以在服務器端處理訂單。添加計數器或'CreatedDate'到每個元素 – 2014-10-09 11:35:47

1

嘗試下面的代碼,你可以得到特定的JSON對象是否可以響應JSON或沒有。如果是的話就拿到它。

try{ 
    JSONArray results = jsonObject.getJSONArray(allwordsss); 
      for (int i = 0; i < results.length(); i++) { 
       JSONObject jsonResult = results.getJSONObject(i); 

       // To check whether such key available or not, otherwise will through exception 
       if (jsonResult.has("letter")) 
        String letter = jsonResult .getString("letter"); 

      } 
}catch(JSONException e){ 
} 
+0

我只是不知道JSONObject插入的位置。所以我不能使用它。 – 2014-10-09 12:23:10

2

試試這個會幫助你。

try{ 
    JSONArray jarry1 = new JSONArray(allwordsss); 
    JSONObject jobject 
    for(int i=0; i<jarry1.size(); i++) 
    { 
     jobject = jarry1.getJSONObject(i) 
     String letter = jobject.get("letter") 
     Log.i("TAG", "letter" + letter); 
    } 
    catch(JSONException e){ 
} 
+0

我只是不知道JSONObject插入的位置。所以我不能使用這個 – 2014-10-09 12:22:26