Java 如何处理像gson中的对象一样写入的数组?
我正在为一个API编写一个客户端,该API通过以下方式为我提供JSON数据:Java 如何处理像gson中的对象一样写入的数组?,java,android,json,gson,Java,Android,Json,Gson,我正在为一个API编写一个客户端,该API通过以下方式为我提供JSON数据: "Thing": { "0": { ... }, "1": { ... }, "2": { ... } } 因为我试图将其放入列表中,所以得到错误: Expected BEGIN_ARRAY but was BEGIN_OBJECT 我不想在Java对象中添加HashMa
"Thing": {
"0": {
...
},
"1": {
...
},
"2": {
...
}
}
因为我试图将其放入列表中,所以得到错误:
Expected BEGIN_ARRAY but was BEGIN_OBJECT
我不想在Java对象中添加HashMap,我想找到一种方法让gson正确地转换它。有办法做到这一点吗
谢谢 您可以将对象放入HashMap,然后将其转换为列表:
HashMap<Integer, String> yourMapFromJSON = new ObjectMapper().readValue(JSON_SOURCE, HashMap.class);
List<String> list = new ArrayList<String>(yourMapFromJSON.values());
如果你的模型包含数组而不是映射,你有两个选择 将JSON解析为映射,然后从中检索值。 为这种情况创建一个特定的解析器。
迭代所有对象?数组应以[]开头。