3 回答

TA貢獻1862條經驗 獲得超7個贊
首先獲取 JSONObject,然后獲取其中的數組
JSONObject jsonObject = new JSONObject(jsonString);
String objectIme = jsonObject.getString("ime");
String prezime = jsonObject.getString("prezime");
上面的行將獲取整個對象,從此對象中,您可以獲得其他對象以及數組test1和test2,如下所示,然后您可以像您一樣循環該數組
JSONArray jArray1 = new JSONArray(jsonObject.getJSONArray("test1"));
JSONArray jArray2 = new JSONArray(jsonObject.getJSONArray("test2"));
for (int i = 0; i < jArray1 .length(); i++) {
JSON jsonObj = new JSON();
JSONObject mojObj = jArray1.getJSONObject(i);
jsonObj.setIme(mojObj.getString(KEY_NAME));
}

TA貢獻1817條經驗 獲得超6個贊
你解析了錯誤的 json。你的 json 以 jsonObject 而不是 jsonArray 開頭。因此,在您的情況下,您必須像這樣開始(假設您的onPostExecute方法的結果變量具有json字符串)
JSONObject mojNiz = new JSONObject(result);
現在,從上面的對象中,您可以獲取json數組mojNiz

TA貢獻2016條經驗 獲得超9個贊
String s = "{\"ime\":\"Alen\",\"prezime\":\"Osmanagi\\u0107\",\"test\":[1,2,3,4,5],\"test2\":{\"1\":\"test\",\"2\":\"555\",\"test\":\"888\",\"om\":\"hasd\"}}";
try {
JSONObject jsonObject = new JSONObject(s);
jsonObject.getString("ime");
jsonObject.getString("prezime");
JSONArray jsonArray = jsonObject.getJSONArray("test");
List<Integer> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add((Integer) jsonArray.get(i));
}
JSONObject testObject = jsonObject.getJSONObject("test2");
testObject.getString("1");
testObject.getString("2");
} catch (JSONException e) {
e.printStackTrace();
}
添加回答
舉報