我正在努力将具有变量内容的JSON对象解析为Java对象。Gson/Retrofit解析变量JSON
通常,我会尝试将JSON对象映射到POJO,但在这种情况下,我不知道该怎么做。
我的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]
我想我要创建一个自定义解串器这一点,但我不知道从哪里开始。
任何帮助指出我在良好的方向将不胜感激。
编辑:正如在评论中指出的,是提供的JSON数据不是有效的键值对形成。我已经联系了API提供商,他们会解决这个问题。
直到我遇到前端处理这个问题的一种方法,我会保持这个问题的公开。
它不是键值对,你可能想重新考虑json数据 –
你可以用gson将它转换为LinkedHashMap/ArrayLists吗? – Bill