2012-03-12 38 views
0

這裏解析是我的JSON對象,我想解析它在Android項目JSON數組中的Android

{ 
    "second": { 
     "versionInfo": "0.20.3-dev", 
     "compileDate": "Mon Mar 12 17:39:23 IST 2012", 
     "compileUser": "suraj", 
     "trackname": "tracker_localhost:localhost/127.0.0.1:48418" 
    }, 
    "href": { 
     "versionInfo": "null", 
     "compileDate": "null", 
     "compileUser": "null", 
     "trackname": "null" 
    }, 
    "first": { 
     "key": "['trackname','versionInfo','compileDate','compileUser']" 
    } 
} 

如何編譯? 我想先提取'first'的屬性,然後使用屬性,然後使用'first'的屬性提取'second'的參數。

+0

你考慮使用JSON解析器:http://stackoverflow.com/questions/338586/a-better-java-json-library – assylias 2012-03-12 12:43:51

+0

最好的方法是使用Gson並讓它自動爲你做。 – waqaslam 2012-03-12 12:44:20

+0

http://stackoverflow.com/questions/9441932/android-json-error-expected-begin-object-but-was-begin-array-at-line-1-column-2 – 2012-03-12 13:43:43

回答

1

基本上,它就是這樣完成的:

JSONObject jobj = new JSONObject(theString); 
JSONObject first = jobj.getJSONObject("first"); 
JSONObject second = jobj.getJSONObject("second"); 

如果您想了解更多,看一看的JSON classes for android的文檔。

編輯

關於陣列的提取(在第一方>鍵):

String jStr = first.getString("key"); 
JSONArray jArr = new JSONArray(jStr); 
+0

謝謝....但如何從'關鍵''第一'對象中獲取值。 ...因爲只有一個鍵,值是屬性數組? – user1264099 2012-03-12 13:04:21

+0

一次一個:)。 「key」的值不是一個數組,而是一個String(包含一個序列化的JSON數組)。我將在幾分鐘內完成編輯,但如果您閱讀了文檔,將來您將更容易。 – MByD 2012-03-12 13:06:24

+0

非常感謝你....其實我是新來的JSON和機器人這就是爲什麼我不知道確切的概念.........無論如何,我會記住你的建議..並再次感謝您的幫助: ) – user1264099 2012-03-12 13:14:40