#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. Посмотрите примеры из документации, там все очень наглядно и понятно.
Комментариев нет:
Отправить комментарий