我有一个看起来像这样的json对象
"price": {
"sale": {
"value": 39.99,
"label": "Now"
},
"regular": {
"value": 69.5,
"label": "Orig."
},
"shippingfee": 0,
"pricetype": "Markdown",
"pricetypeid": 7,
"onsale": true
}
“sale”和“regular”是关键字(唯一)是可用的众多价格类型中的2个,以及标签 “Orig”和“Now”是关键字(唯一)是可用标签中的2个。
我不确定将这个价格json存储到POJO中的最佳数据结构。
有人可以指导我完成这个吗?
答案 0 :(得分:1)
我猜您的问题是将销售和常规属性转换为统一表示,可能使用枚举作为唯一值。使用JSON serilization / deserialization的默认机制,这可能很困难。我不确定你使用的JSON解析库,在Jackson中有可能为字段注册自定义序列化器和反序列化器(使用注释)。在这种情况下,whcy tou会做的是注册自定义序列化器/反序列化器并以您希望的方式处理JSON的字段。你可以参考this post
在评论中添加了以下内容:
POJO的可能结构如下:
publi class Price{
protected List<PricePointDetails> pricePointDetails;
protected float shippingFee;
protected PriceTypes priceType;
protected priceTypeId;
protected boolean onSale;
}//class closing
public class PricePointDetails{
protected PriceTypes priceType;
protected float value;
protected LabelTypes labelType;
}//class closing
public enumeration PriceTypes{
sale,regular,markdown;
}//enumeration closing
public enumeration LabelTypes{
Orig,Now;
}//enumeration closing
我添加的内容只是构建数据的一种方式,也可以在其他方面完成。