#java #android #json #парсер
Имеется такой JSON:
[
{
"id":1080505,
"name":"Tove Lo",
"genres":[
"pop",
"dance",
"electronics"
],
"tracks":81,
"albums":22,
"link":somelink,
"description":description,
"cover":{
"small":somestring,
"big":somestring1
}
},
{
...
}
]
Каким образом мне его спарсить?
Как я могу получить JSONArray, если нет имени JSONArray? Т.е. после "[" сразу идут
элементы JSON.
Каким образом его можно обработать? В последствии данные с JSON нужно забить в ListView.
Ответы
Ответ 1
try { JSONArray rootJSON = new JSONArray(new JSONTokener(YourJson)); for (int i = 0; i < rootJSON.length(); i++) { JSONObject o = rootJSON.getJSONObject(i); Log.d("TAG", o.getString("name")); } } catch (JSONException e) { e.printStackTrace(); }Ответ 2
Вариант с использованием библиотеки GSON Создаем объекты-модели: public class Cover { @SerializedName("small") public String small; @SerializedName("big") public String big; } public class Example { @SerializedName("id") public int id; @SerializedName("name") public String name; @SerializedName("genres") public Listgenres = new ArrayList (); @SerializedName("tracks") public int tracks; @SerializedName("albums") public int albums; @SerializedName("link") public String link; @SerializedName("description") public String description; @SerializedName("cover") public Cover cover; } Используя Gson парсим входной объект: Type listType = new TypeToken >() {}.getType(); List yourClassList = new Gson().fromJson(jsonArray, listType); Ответ 3
То, что в фигурных скобках это JsonObject, то, что в квадратных JsonArray. В вашем примере, JsonArray это сам корень json и поле genres. Посмотрите примеры из документации, там все очень наглядно и понятно.
Комментариев нет:
Отправить комментарий