我有这个JSON:
{
"entries": [
[
1545230391429, // long
3799.9872120695404 // double
],
[
1545230685249,
3796.6928339346546
],
[
1545231000586,
3793.6487491594485
],
...
]
}
此POJO可以将它们作为字符串处理,但随后我需要手动将它们转换为适当的类型... aaa,这很冒险:
@SerializedName("entries")
@Expose
private List<List<String>> entries;
我尝试了更可靠的方法,但是无法正常工作:
public class Entry {
public Long timestamp;
public Double value;
}
@SerializedName("entries")
@Expose
private List<Entry> entries;
我知道
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException: 预期为BEGIN_OBJECT,但位于第1行第13列路径的BEGIN_ARRAY $ .entries [0]
我认为问题在于Entry
应该是List
,但是我无法列出两种不同类型的列表。
如何进行?
答案 0 :(得分:4)
MyData类
.information
尝试使用自定义反序列化(这只是示例,请检查代码)
@SerializedName("entries")
@Expose
private List<List<String>> entries;
答案 1 :(得分:1)
您正在尝试将二维数组解析为List。首先,您应该将其解析为二维的Object数组,并对其进行迭代以解析并填充List。
答案 2 :(得分:0)
您尝试使用保存第一个数组数据的pojo类(例如EntryArrayHolder
)。
public class Entry {
public Long timestamp;
public Double value;
}
public class EntryArrayHolder {
private List<Entry> entriesHolder = null;
}
@SerializedName("entries")
@Expose
private List<EntryArrayHolder> entries= null;
希望有帮助!