Mongo JSON到Java POJO映射

时间:2016-09-23 05:58:46

标签: java json mongodb spring-data jsonschema2pojo

我有一个看起来像这样的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中的最佳数据结构。

有人可以指导我完成这个吗?

1 个答案:

答案 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

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