"=12=" "=11=" 和 "=10="
Mongo JSON to Java POJO mapping
我有一个 json 对象,看起来像这样
"price": {
"sale": {
"value": 39.99,
"label": "Now"
},
"regular": {
"value": 69.5,
"label": "Orig."
},
"shippingfee": 0,
"pricetype": "Markdown",
"pricetypeid": 7,
"onsale": true
}
"sale" 和 "regular" 是关键字(唯一)是许多可用价格类型中的两种,标签
"Orig" 和 "Now" 是关键字(唯一),是许多可用标签中的两个。
我不确定将此价格 json 存储到 POJO 中的最佳数据结构。
有人可以指导我完成这个吗?
我猜你的问题是将 sale 和 regular 属性转换为统一的表示形式,这可能会使用 Enumeration 作为唯一值。使用 JSON serilization/deserialization 的默认机制,这可能很困难。我不确定您正在使用的 JSON 解析库,在 Jackson 中,可以为字段注册自定义序列化器和反序列化器(使用注释)。在这种情况下,whcy tou 要做的是注册一个自定义 serializer/deserializer 并按照您想要的方式处理 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
我添加的只是一种构建数据的方式,也可以用其他方式完成。
我有一个 json 对象,看起来像这样
"price": {
"sale": {
"value": 39.99,
"label": "Now"
},
"regular": {
"value": 69.5,
"label": "Orig."
},
"shippingfee": 0,
"pricetype": "Markdown",
"pricetypeid": 7,
"onsale": true
}
"sale" 和 "regular" 是关键字(唯一)是许多可用价格类型中的两种,标签 "Orig" 和 "Now" 是关键字(唯一),是许多可用标签中的两个。
我不确定将此价格 json 存储到 POJO 中的最佳数据结构。
有人可以指导我完成这个吗?
我猜你的问题是将 sale 和 regular 属性转换为统一的表示形式,这可能会使用 Enumeration 作为唯一值。使用 JSON serilization/deserialization 的默认机制,这可能很困难。我不确定您正在使用的 JSON 解析库,在 Jackson 中,可以为字段注册自定义序列化器和反序列化器(使用注释)。在这种情况下,whcy tou 要做的是注册一个自定义 serializer/deserializer 并按照您想要的方式处理 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
我添加的只是一种构建数据的方式,也可以用其他方式完成。