2016-02-26 89 views
0
1[[23[]] 

我知道'['代表JOSNArray,'{'代表JSONObject。然而,因爲我的結果始於[整個數據塊現在是一個數組,即使{出現在實際的字符串之前?我的JSON是一個數組還是一個對象?

如果在android中解析,我應該解析數組還是對象?

我的PHP腳本:

+0

其數組.... – curiousMind

回答

1

它是一個包含單個對象的數組。字符串分隔第一個對象的第一個項目的名稱。

1

正如茲比涅克Vyskovsky與單個對象的數組說得這麼讓你可以使用

  JSONArray jsonArray=new JSONArray(<your json object>); 
     JSONObject jsonObject = jsonArray.get(0); 
     String date = jsonObject.getString("Date"); 
     String temp = jsonObject.getString("Temp"); 
+0

謝謝先生。我還需要一個for循環嗎? – collision934

+0

如果你的jsonArray包含多個對象,你需要一個for循環遍歷它。與普通數組中的概念相同。 –

1

數據您的JSON是隻包含一個Json的object.I實際上將展示它如何與工作的一個數組JSon數組和JsonObject。

例如我有一個JSON陣列:

[{ 
     "name": "abc", 
     "description": "ABC server", 
     "state": "online" 
    }, 
    { 
     "name": "xyz", 
     "description": "XYZ client", 
     "state": "online" 
    }, 
    { 
     "name": "mnp", 
     "description": "MNP server", 
     "state": "online" 
    }] 

因此上述陣列實際上包含像[{Obj1},{Obj2},{Obj3}] 3個JSON對象。

當我們試圖獲得某個鍵的任何值時,首先我們需要存儲JSon數組,然後我們需要通過傳遞索引來獲得確切的Json對象,例如:jsonObject obj = JsonArray.get(0)

在將密鑰傳遞給get()方法中的Json對象後不久,您將獲得您的密鑰。例如:String s = obj.get("state")

1

確定此問題的最佳方法是格式第一。 貼在這個網站http://json.parser.online.fr/

有你的迴應,你會看到

1)紅方括號-represent的數組。

2)藍色大括號代表一個對象。

總之你有一個包含單個對象的數組。