3 回答

TA貢獻1862條經(jīng)驗 獲得超7個贊
首先獲取 JSONObject,然后獲取其中的數(shù)組
JSONObject jsonObject = new JSONObject(jsonString);
String objectIme = jsonObject.getString("ime");
String prezime = jsonObject.getString("prezime");
上面的行將獲取整個對象,從此對象中,您可以獲得其他對象以及數(shù)組test1和test2,如下所示,然后您可以像您一樣循環(huán)該數(shù)組
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條經(jīng)驗 獲得超6個贊
你解析了錯誤的 json。你的 json 以 jsonObject 而不是 jsonArray 開頭。因此,在您的情況下,您必須像這樣開始(假設(shè)您的onPostExecute方法的結(jié)果變量具有json字符串)
JSONObject mojNiz = new JSONObject(result);
現(xiàn)在,從上面的對象中,您可以獲取json數(shù)組mojNiz

TA貢獻2016條經(jīng)驗 獲得超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();
}
添加回答
舉報