2017-01-04 194 views
-3

有人可以給我一個很好的鏈接或有助於解釋解析JSON的工作。我有一個像這樣的對象數組........ [{} {} {}]。我試圖得到例如{「名稱」的價值:「約翰」....}我是否調用.get(name)來獲取值John.or .getString(name)來獲得值約翰。我試圖調用getstring(ETA),並且有一個事件發生在另一個對象上[{「name」:「John」,「Eta」:「5」} ....]錯誤不能在對象上使用.getstring(Eta)。這可能與某些json有類似/「Time」的事實有關:JSON.stringify() - 將JavaScript對象轉換爲JSON字符串。「(0004253200)」/解析JSON數組和對象

回答

0

我會嘗試解釋如何在Android中使用JSON。

假設你有一個像

{ 
    "contacts": [ 
     { 
       "id": "c200", 
       "name": "Ravi Tamada", 
       "email": "[email protected]", 
       "address": "xx-xx-xxxx,x - street, x - country", 
       "gender" : "male", 
       "phone": { 
        "mobile": "+91 0000000000", 
        "home": "00 000000", 
        "office": "00 000000" 
       } 
     }, 
     { 
       "id": "c201", 
       "name": "Johnny Depp", 
       "email": "[email protected]", 
       "address": "xx-xx-xxxx,x - street, x - country", 
       "gender" : "male", 
       "phone": { 
        "mobile": "+91 0000000000", 
        "home": "00 000000", 
        "office": "00 000000" 
       } 
     } 
    ] 
} 

字符串現在{}之間的任何一個JSON對象。所以這整個字符串可以轉換爲一個JSON對象。

要做到這一點:JSONObject obj = new JSONObject(str);

和任何[]之間是一個JSON陣列。在上面的例子中,"contacts"是一個JSONArray。

爲了得到陣列JSONArray contacts = jsonObj.getJSONArray("contacts");

現在,假設你需要得到接觸式ID C201的名稱的值。

JSONObject obj = new JSONObject(str); //Convert whole string to JSONObject. 
JSONArray contacts = jsonObj.getJSONArray("contacts"); //Get contacts array. 
// looping through All Contacts 
for (int i = 0; i < contacts.length(); i++) { 
    JSONObject c = contacts.getJSONObject(i); //Get JSONObject at index i 
    if(c.getString("id").equals("c201")){ 
     return c.getString("name"); 
    } 
} 

看看this article更多的閱讀材料。

+0

謝謝你的回答和鏈接我能得到一個更好的理解之間。 – Vahalaru

0

JSON.stringify

JSON.parse()來 - 轉換JSON字符串成javascript對象。

0
String json = "{"name" :"John"}"; 
JsonObject object = new JsonObiect(json); 
String name = object.getString("name"); 
System.out.println(name);