我从GET响应中收到以下JSON结构:
[
{
"type":"unico",
"line_items":{
"meta_data":[
{
"id":"1",
"key":"abc"
},
{
"id":"2",
"key":"cba"
}
]
}
},
{
"type":"assinatura",
"line_items":{
"meta_data":{
"4":{
"id":"1",
"key":"123"
},
"5":{
"id":"2",
"key":"321"
}
}
}
}
]
根据结构, meta_data 对象可以定义为对象列表和对象数组,具体取决于类型。
我在LineItem.java类中使用以下定义:
@SerializedName("meta_data")
@Expose
private MetaData metaData;
参加"type":"assinatura"
类型。
使用GSON将JSON字符串解析为Java对象时,我收到错误:
java.lang.IllegalStateException:预期BEGIN_OBJECT但是 BEGIN_ARRAY在第1行第607行路径$ [0] .line_items [0] .meta_data
有没有办法让我的Java类处理这两种情况?从我的位置来看,我无法改变JSON结构。