首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jackson Json序列化

Jackson Json序列化
EN

Stack Overflow用户
提问于 2014-06-12 15:44:06
回答 1查看 157关注 0票数 1

我正在使用Jackson2.4,我需要生成由d3.js处理的数据。

d3.js希望json值的格式如下:

代码语言:javascript
复制
values : [[0, 13.5],[1, 2.5],[2, 5],[3, 41.2]]

在我的Java模型中有:

代码语言:javascript
复制
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生成我想要的,因为现在它会生成以下内容:

代码语言:javascript
复制
values : [{x: 0, y: 13.5},{x: 1, y: 2.5},{x: 2, y: 2, 5},{x: 3, y: 41.2}]

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-12 15:51:04

最简单的方法是使用@JsonValue。尝试将其添加到您的Entry类中:

代码语言:javascript
复制
@JsonValue
public Object[] jsonArray() {
    return new Object[]{Integer.valueOf(x), Double.valueOf(y)};
}

(您还可以返回一个double[],因为这将被转换为一个JavaScript数字,或者使用自动装箱,但这一点要更清楚一些。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24188589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档