繁体   English   中英

如何为以下json创建POJO?

[英]How to create a POJO for the following json?

我想使用杰克逊将以下json映射到pojo。

{
  "colors": {
    "red": {
      "colorCode": "#FF0000"
    },
    "green": {
      "colorCode": "#00FF00"
    },
    "blue": {
      "colorCode": "#0000FF"
    }
  }
}

有没有一种可能的方法来创建单个POJO,而不必为每种颜色创建POJO,因为每种颜色都包含相同的参数(colorCode)?

注意:我尝试使用@jsonAlias,但是它将无法覆盖,因为它会覆盖该参数。

最简单的解决方案是使用Map <String,Color>(如果您有固定的颜色列表,也可以使用Enum)。

public class Color{
  private String colorCode;

  //constructor, getter, setter
} 
public class Pojo{
   private Map<String,Color> colors;

  //constructor, getter, setter
}

颜色的名称就是名称。 除非蓝色的行为不同于红色,否则它们不应是单独的类。

Public class Color{
Private string colorCode;
Private string title

Color(string colorCode, string title){
This.colorCode =colorCode;
This.title = title;
}

吸气安装员等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM