2016-10-28 78 views
0

作業:我正在使用json-simple。我怎樣才能將這個json數據轉換成單獨的java字符串? (請原諒我,如果你認爲這是一個低級別的問題 - 我是JSON的新手,所以我不太瞭解 - 我已經搜索了很多,但我找不到任何答案)json數組到個人字符串


我可以得到的數據,如果只有一個目標......像這樣...

{ 
    "name": "Abhi", 
    "age": "21" 
} 

但是,我不能得到的數據,如果它是陣列中

[{ 
    "name": "Abhi", 
    "age": "21" 
}, { 
    "name": "shek", 
    "age": "7" 
}] 

的JSON對象我的程序邏輯

JSONParser parser = new JSONParser(); 

    Object obj = parser.parse(new FileReader("A:/c/dataFile.json")); 

    JSONObject jObj = (JSONObject) obj; 

    String gName = (String) jObj.get("name"); 
    String gAge = (String) jObj.get("age"); 
    System.out.println(gName); 
    System.out.println(gAge); 

誰能告訴我如何獲得這些數據?也許是一個代碼片段?

在此先感謝您的答案!

+1

當處理一個JSON數組,你不應該投你的'Object'到'JSONObject'而是到'JSONArray',你將迭代它來檢索它包含的'JSONObject'。 – Aaron

+0

如果您需要測試是否收到數組或對象,請選中['JSONStructure'](http://docs.oracle.com/javaee/7/api/javax/json/JsonStructure.html)及其'getValueType '方法。 – Aaron

+0

在哪個基礎上,我可以分開兩個對象? – abhishake

回答

0

因爲在你的第二個情況下你得到JSONArray 您可能需要檢查obj的實例作爲

if (jObj instanceof JSONObject) 

else if (jObj instanceof JSONArray)