我正在使用Jackson2.4,我需要生成由d3.js处理的数据。
d3.js希望json值的格式如下:
values : [[0, 13.5],[1, 2.5],[2, 5],[3, 41.2]]在我的Java模型中有:
public class Series {
private String key;
private List<Entry> values;
...
public void addEntry(int x, double y) {
values.add(new Entry(x, y));
}
public class Entry {
private int x;
private double y;
...
}
}它只用于序列化,而不是反序列化,因此,是否有一种使用Jackson注释的方法可以让json生成我想要的,因为现在它会生成以下内容:
values : [{x: 0, y: 13.5},{x: 1, y: 2.5},{x: 2, y: 2, 5},{x: 3, y: 41.2}]谢谢,
发布于 2014-06-12 15:51:04
最简单的方法是使用@JsonValue。尝试将其添加到您的Entry类中:
@JsonValue
public Object[] jsonArray() {
return new Object[]{Integer.valueOf(x), Double.valueOf(y)};
}(您还可以返回一个double[],因为这将被转换为一个JavaScript数字,或者使用自动装箱,但这一点要更清楚一些。)
https://stackoverflow.com/questions/24188589
复制相似问题