[英]JSON Object/Array to Java object using GSON
我从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,但在行1列607路径$ [0] .line_items [0] .meta_data处为BEGIN_ARRAY
有没有办法让我的Java类处理两种情况? 从我的位置,我无法更改JSON结构。
使用此JsonToPojo转换器。 这非常方便,它将根据您的Json响应创建Pojo类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.