我想使用Gson将json转换为Java。
例如,Json结构是..。
{
"title": "title",
"product" : [
{
"key": "product1",
"value": [{
"valueName": "productValue1"
}]
"date" : "2022-10-11"
},
{
"key": "product2",
"value": []
},
"date" : "2022-10-11"
]
}我做了DTO就像..。
public Class ProductDTO {
String title;
List<Product> product;
}
public Class Product {
String key;
List<Value> value;
}
public Class Value {
String valueName;
}和
// payload: String
Gson gson = new Gson();
ProductDTO productDTO = gson.fromJson(payload, ProductDTO.class);在执行fromJson时,我有MalformedJsonException。在json中,值列表大小为== 0,用于"key":"product2“,但值类中有String valueName属性。
我如何解决这个问题?
发布于 2022-11-07 07:54:43
我想你的模型类会是这样的
public class Product {
@SerializedName("key")
@Expose
private String key;
@SerializedName("value")
@Expose
private List<Value> value = null;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public List<Value> getValue() {
return value;
}
public void setValue(List<Value> value) {
this.value = value;
}
}public class ProductDTO {
@SerializedName("title")
@Expose
private String title;
@SerializedName("product")
@Expose
private List<Product> product = null;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<Product> getProduct() {
return product;
}
public void setProduct(List<Product> product) {
this.product = product;
}
}public class Value {
@SerializedName("valueName")
@Expose
private String valueName;
public String getValueName() {
return valueName;
}
public void setValueName(String valueName) {
this.valueName = valueName;
}
}https://stackoverflow.com/questions/74343322
复制相似问题