Я изо всех сил пытаюсь разобрать объект JSON с переменным содержимым для Java-объекта.Gson/Retrofit parse variable JSON
Обычно я пытаюсь сопоставить объект JSON с POJO, однако в этом случае я не знаю, что делать.
My JSON выглядит следующим образом:
"parts": [
[
"text",
"http://www.example.com/"
],
[
"page",
[
"http://www.example.com/",
"\n\t\n\t\t\n\t\t\tSome of the Page Content preview here...",
"",
"/path/to/picture.jpg"
]
],
[
"text",
"Another String here "
]
]
Запуск этого куска коды корыто типичного Json на Java конвертера объектов не работает, потому что это не может быть сопоставлено с простым POJO.
Я попытался преобразования в List<List<String>>> myObject;
, но, как ожидается, это дает мне исключение:
W: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_ARRAY at line 1 column 9563 path $[3]./object.parts[1][1]
Я думаю, что я должен буду создавать пользовательские десериализатор для этого, но я понятия не имею, с чего начать.
Любая помощь, направленная мне в хорошем направлении, была бы весьма признательна.
EDIT: Как указано в комментариях, данные JSON поставляются не в правильной форме пары значений ключа. Я связался с поставщиками API, и они разобрались.
До тех пор, пока я не столкнусь с проблемой решения этой проблемы на интерфейсе, я оставлю этот вопрос открытым.
это не ключевой пары значений, вы можете пересмотреть json-данные –
Можете ли вы просто преобразовать его в LinkedHashMap/ArrayLists с gson? – Bill