Как разобрать или создать pojo из следующего json массива? - PullRequest
1 голос
/ 12 января 2020

Я хочу проанализировать следующее JSON и нормально работать, используя мой код, такой как строковый токенизатор, но я хочу проанализировать любой стандартный метод (например, GSON .. et c) или как создать POJO для него, с помощью этого , так как решить эту проблему, спасибо

JSON

[
   [
      "106639",
      "jonni",
      "assistant director",
      "1"
   ],
   [
      "106639",
      "maikel",
      "operator and publisher",
      "1"
   ]
]

1 Ответ

1 голос
/ 13 января 2020

У вас нет пользовательского json объекта. это простой строковый массив в массиве, поэтому вы должны использовать ArrayList> тип класса, как показано ниже.

Kotlin:

val model = Gson().fromJson(jsonString, ArrayList<ArrayList<String>>()::class.java)

Java:

ArrayList<ArrayList<String>> model = new Gson().fromJson(jsonString, new TypeToken<ArrayList<ArrayList<String>>>() {}.getType());

TypeToken

public class TypeToken<T> extends Object

Представляет тип c тип T.Java не все же предоставляет способ представления обобщенных c типов, так что этот класс делает. Вынуждает клиентов создавать подкласс этого класса, который позволяет получать информацию о типе даже во время выполнения. Например, чтобы создать литерал типа для List<String>, вы можете создать пустой анонимный внутренний класс:

TypeToken<List<String>> list = new TypeToken<List<String>>() {};

Этот синтаксис нельзя использовать для создания литералов типа, имеющих параметры подстановочных знаков например Class<?> or List<? extends CharSequence>.

...