在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 楼答案
正如蜘蛛@Boris所指出的那样。编写自定义序列化程序是解决方案。没有我想象的那么痛苦:-)