Я сделал веб-страницу, чтобы сделать json по php, теперь я хочу получить данные от json от android, но я хочу поместить массивы с одинаковым идентификатором в список и, наконец, я положил его в HashMap для каждого объекта, чтобы сделать expandableListview, я имею в виду:Как получить данные из тех же массивов из jsonObject в список с android
Array
(
[0] => Array
(
[id] => 1
[author] => x
[book] => y
)
[1] => Array
(
[id] => 2
[author] => w
[book] => a
)
[2] => Array
(
[id] => 1
[author] => x
[book] => y2
)
[3] => Array
(
[id] => 1
[author] => x
[book] => y3
)
)
и результат JSON является:
{"authors":[{"id":"1","author":"x","book":"y"},`{"id":"2","author":"w","book":"a"},{"id":"1","author":"x","book":"y2"},{"id":"1","author":"x","book":"y3"}]}`
и мой код в андроида, чтобы получить данные из JSON:
public static HashMap<String,List<String>> toPerson(String json){
try {
JSONObject jsonPerson = new JSONObject(json);
JSONArray jsonDataAuthor = jsonPerson.getJSONArray("authors");
HashMap<String ,List<String>> author=new HashMap<String ,List<String>>();
for(int i=0; i<jsonDataAuthor.length(); i++){
List<String> bookOfAuthor=new ArrayList<String>();
JSONObject jsonPn = jsonDataAuthor.getJSONObject(i);
String authorName = jsonPn.getString("author");
String bookName = jsonPn.getString("book");
bookOfAuthor.add(bookName);
author.put(authorName,bookOfAuthor);
}
return author;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
но я получаю расширяемое представление списка с родителями, и у каждого родителя есть только один ребенок, но здесь с одним и тем же идентификатором я хочу раскрываемое представление списка с двумя родителями, у которого один из них имеет 3 детей, но я не знаю, как, Я хочу ниже результата:
х
у
y2
y3
ж
Я был бы признателен, чтобы помочь мне.
, когда я это сделать, опять же у меня там родители, что все из них имеют один и то же ребенок, мне нужно отправить только один Список_массивы для всех одинаковых идентификаторов – hadis
Если вы скопировали и вставили мой код, это не сработало. Как я уже сказал, это было просто дать вам идею. Теперь я обновил свой код, исправил ошибки пары. Возможно, это может быть ошибкой. Идея состоит в том, чтобы использовать тот же ArrayList для данного идентификатора. –