"=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

我添加的只是一种构建数据的方式,也可以用其他方式完成。