Я делаю в проекте Android. Вот моя JSON строка выглядит,Получить данные из JSON Результат
{"objectA":{"objectB","objectC","objectD":[{"Element1":"value1","Element2":"value2"}]}}
Я пытаюсь получить objectD JSONArray
.
первый я получил JSON результат в jsonStr variable.
JSONObject jsonObj = new JSONObject(jsonStr);
Тогда я добавлю, что objectD к JSONArray
JSONArray array1 = jsonObj.getJSONArray("objectD");
Тогда я пытаюсь получить значения из этого массива
for (int i = 0; i < array1.length(); i++) {
JSONObject c = array1.getJSONObject(i);
String myString1 = c.getString("Element1");
String myString2 = c.getString("Element2");
//Then I put those to HashMap
HashMap<String, String> p = new HashMap<String, String>();
p.put(Element1, myString1);
p.put(Element2, myString2);
ArrayList<HashMap<String, String>> q = new ArrayList<HashMap<String, String>>();
q.add(p);
}
Когда я am debuging мой код Это показывает, что jsonStr
имеет t он json string.
но p
и q
не имеют значений.
Как я получил эти значения?
Переместить 'ArrayList> q = new new ArrayList >();' out for loop –
Я сделал это. Но это не сработало - @ ρяσѕρєя K – NoughT
При работе с json-данными я всегда создаю объекты POJO, а затем использую Jackson или Gson для преобразования данных в/из json-формата. Это делает его намного проще и менее подверженным ошибкам. Я нахожу Джексона более мощным, но Gson проще использовать для простых случаев. –