请参阅以下json
{ "somekey" :
{ "data" : [[
"1",
"this is 2 ind index data",
["one", "two", "three", "four", "five"]
]]}
}
以上是我的json数据的结构是一个包含2个字符串和一个数组的数组,我怎样才能实现使用Gson解析响应
以下是我写的模型类 的 BaseData.java
class BaseData
{
public SomeData somekey;
}
SomeData.java
class SomeData
{
ArrayList<ArrayList<String>> data
}
并且在得到响应通常的gson函数后,我调用了
new Gson().fromJson("above response string here", BaseData.class);
但是我收到以下错误
07-31 17:26:14.824 28099-28099 / W / System.err:引起: java.lang.IllegalStateException:期望一个字符串但是BEGIN_ARRAY 在第1行第253行路径$。
据我所知,这是因为我制作的数组模型我只使用数组来接受字符串,但我该如何修复它,这样我就可以接受字符串和数组一起进行数组响应了
谢谢
答案 0 :(得分:0)
你需要这样的结构:
class BaseData {
SomeKey somekey;
}
class SomeKey {
List<ArrayEntity> data;
}
class ArrayEntity {
int firstVar;
String secondVar;
List<String> thirdVar;
}
并像这样使用它:
new Gson().fromJson("above response string here", BaseData.class);
答案 1 :(得分:0)
您必须使用Arraylist<Arraylist<Object>>
,因为该列表中有不同的类型
您的提取代码必须稍后转换才能获得正确的类型