有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在jackson json(Java)中以平面结构序列化列表内容

我需要序列化的类:

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class MyClass {

    @JsonProperty("CustomerId")
    private String customerId;

    @JsonProperty("Products")
    private List<ProductDetails> products;

    //Getters and setters
}

我的产品详细信息。java类:

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class ProductDetails {
    @JsonProperty("ProductId")
    private String productId;

    @JsonProperty("ProductName")
    private String productName;

    //Getters and setters
}

默认序列化输出:

{
  "CustomerId" : "ewm0po",

  "Products" : [ {
       "ProductId" : "AAA",
       "ProductName" : "AAA Product"
     },  {
       "ProductId" : "AAA",
       "ProductName" : "AAA Product"
   }]
}

我试图获得的输出:

{
  "CustomerId" : "ewm0po",
  "ProductId1" : "AAA",
  "ProductName1" : "AAA Product"
  "ProductId2" : "AAA",
  "ProductName2" : "AAA Product"
}

换句话说,我试图跳过产品列表的JSON括号,并用递增的整数为每个ProductId和ProductName字段添加后缀

非常感谢您的帮助


共 (1) 个答案

  1. # 1 楼答案

    正如蜘蛛@Boris所指出的那样。编写自定义序列化程序是解决方案。没有我想象的那么痛苦:-)