2014-03-19 27 views
0

我的格式接收數據:此列表的格式是什麼?

"result": {"FirstData": {"One": 1, "Two": 2,... 

首先,這是什麼通常被稱爲Java中(二維數組)?

其次,我如何循環這個來提取字符串?

我明白,如果我只是在我的數組有「第一資訊」我可以這樣做:

public void onSuccess(String[] result) 
{ 
    for(String Name : result) { 
     System.out.println(Name); 
    } 

通過對二維數組相同的邏輯下去,它似乎並沒有打印出來的東西:

public void onSuccess(JSONObject result) 
{ //Parse here 

    } 

編輯:

是的,它是JSON,它看起來像代碼已經GSON(谷歌JSON)安裝

編輯2:

上述代碼NOW CORRECTED

+6

樣子json格式 – donfuxx

+1

是的,但是我該如何提取這些如果這是數據回來的價值? – fiz

+0

這看起來像JSON,但看起來不像列表。 – dasblinkenlight

回答

1

它看起來有點像JSON。 JSON串是建立這樣的:

鍵:值

然而,值可以是全新的「按鍵:值」,這樣你可以有:

「鑰匙」:「InnerKey1」:「值1 」, 「Innerkey2」, 「值2」], 「密鑰2」: 「InnerKey1」: 「值1」, 「Innerkey2」, 「值2」]等

爲您來源:

JSONObject myJSONObject = new JSONObject("Your resultstring goes here"); 
JSONObject resultObject = myJSONObject.getJSONObject("result"); 
JSONObject FirstDataObject = resultObject.getJSONObject("FirstData"); //Object with JSONObjects "One","Two" etc 


//Since the part " {"One": 1, "Two": 2,..." in your string isn't an JSONArray you cannot do the following but if it were like this "["One": 1, "Two": 2,..." your could do this: 

JSONArray FirstDataArray = resultObject.getJSONObject("FirstData"); //Array with JSONObjects "One","Two" etc 

JSONArray arr = resultObject.getJSONArray("FirstData"); 
for (int i = 0; i < arr.length(); i++) 
{ 
    String number = arr.getJSONObject(i).getString(0); 
    ...... 
} 
+0

雖然這種情況下你會如何使用它? – fiz

+1

查看我編輯的答案(還沒有測試錯別字等代碼) –

+0

謝謝嘗試,我現在就去與這= = – fiz

2

JSON。使用JSON parser來讀取數據。一種流行的Java解析器:google-gson

+0

到Jackson或Gson的鏈接可能比鏈接到JSON規範更有幫助。 – chrylis

+0

@chrylis如果你向下滾動到我提供的鏈接,你會在那裏看到google-gson。不管怎麼說,如果有問題,我加了google-gson。 –

+0

所以我已經安裝了谷歌庫gson,你有一個快速的例子來解析上述數據嗎? – fiz