【发布时间】:2017-07-16 20:02:56
【问题描述】:
我有一个这样的 json 结构:
{
"name": "LS",
"stocks": [
{
"x": 1500234365000,
"y": 0.000000000000
},
{
"x": 1500234427000,
"y": 0.000015154000
},
{
"x": 1500234481000,
"y": 0.000015518740
},
{
"x": 1500234548000,
"y": 0.008415518740
}
]
}
但我需要我的 json 看起来像这样:
{
"name": "LS",
"stocks": [
[1500234365000,0.000000000000],
[1500234427000,0.000015154000],
[1500234481000,0.000015518740],
[1500234548000,0.008415518740]
]
}
我的映射类:
public class View implements Serializable {
private static final long serialVersionUID = 1636349140413063122L;
@Getter @Setter
private String name;
@JsonInclude(Include.NON_EMPTY)
@Getter @Setter
private List<Data> rates = new ArrayList<Data>();
}
和数据数组:
public class Data implements Serializable {
private static final long serialVersionUID = 2926346626990185211L;
@JsonProperty("x")
@Getter @Setter
private Long date;
@JsonProperty("y")
@Getter @Setter
private BigDecimal value;
有什么本地方法可以做到吗?我在 stackoverflow 和 jackson 文档中搜索,但没有找到如何删除属性名称。
不知道有没有可能。
不管怎样,我用的是 spring boot 和 jackson
【问题讨论】:
-
那只是一个二维数组,不是吗?
-
Jolt 非常适合这样的东西:github.com/bazaarvoice/jolt
-
如果希望JSON字段命名为
stocks,不要将Java字段命名为rates,如果希望JSON值是数组数组(二维数组),然后不要将 Java 字段设为List的 bean 对象,而是将其设为列表列表、数组列表或数组数组。这样您就不必编写自定义序列化程序了。
标签: java json spring spring-boot jackson