创建数组时,Jackson2 Java to Json数组会忽略字段名称

阿尤布·马里克(Ayub Malik)

我正在尝试创建一个Java REST端点,该端点返回一个JSON数据数组,供JQuery FLOT图表插件使用。

至少,FLOT的JSON数据必须是数字数组,即

[ [x1, y1], [x2, y2], ... ]

给定我有一个Java中的Point对象的列表,即

List<Point> data = new ArrayList<>();

点定义为

public class Point {

    private final Integer x;
    private final Integer y;

    public Point(Integer x, Integer y) {
        this.x = x;
        this.y = y;
    }

    ...
 }

我需要使用什么方法或Jackson2注释(如果有的话)来获取正确的JSON格式的Java对象。目前,我正在以这种格式输出:

[{x:x1, y:y1}, {x:x2, y:y2} ...]

当我需要这种格式时:

[[x1,y1], [x2,y2] ...]
萨马尼洛

您可以编写自定义Point序列化程序

import java.io.IOException;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

public class CustomPointSerializer extends JsonSerializer<Point> {

    @Override
    public void serialize(Point point, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException {
        gen.writeStartArray();
        gen.writeNumber(point.getX());
        gen.writeNumber(point.getY());
        gen.writeEndArray();
    }
}

然后您可以将自定义序列化器类设置为您的Point

import org.codehaus.jackson.map.annotate.JsonSerialize;

@JsonSerialize(using = CustomPointSerializer.class)
public class Point {

    private Integer x;
    private Integer y;

    public Point(Integer x, Integer y) {
        this.x = x;
        this.y = y;
    }

    public Integer getX() {
        return x;
    }

    public void setX(Integer x) {
        this.x = x;
    }

    public Integer getY() {
        return y;
    }

    public void setY(Integer y) {
        this.y = y;
    }
}

尝试一下

ObjectMapper mapper = new ObjectMapper();
List<Point> points = new ArrayList<Point>();
points.add(new Point(1,2));
points.add(new Point(2,3));
System.out.println(mapper.writeValueAsString(points));

该代码产生以下结果

[[1,2],[2,3]]

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JSON的Java对象:字段名称

来自分类Dev

空字段名称的数组对象

来自分类Dev

如何映射对象数组的名称以更改字段名称?

来自分类Dev

用jQuery解析未知字段名称的JSON多个数组

来自分类Dev

仅根据字段名称对类数组进行排序

来自分类Dev

使用数组值作为对象字段名称

来自分类Dev

Java - JMockit 测试 2 个具有相同字段名称的注入类

来自分类Dev

python + django尝试将mongoengine文档序列化为json,但仅获取字段名称数组

来自分类Dev

映射时,如何使Dapper忽略/删除字段名称中的下划线?

来自分类Dev

Java - 如何从 JSON Schema 获取所有字段名称

来自分类Dev

如何使用 GSON 库在 Java 对象和 JSON 文件之间映射字段名称

来自分类Dev

根据字段名称值对numpy结构化数组中的值进行排序

来自分类Dev

MongoDB查询以在没有字段名称的嵌套数组中搜索文本

来自分类Dev

Mongo聚合基于字段名称收集数组元素

来自分类Dev

合并子数组并将字段名称保留为值

来自分类Dev

mongodb:使用字段名称的动态参数对嵌套数组进行排序

来自分类Dev

根据字段名称值对numpy结构化数组中的值进行排序

来自分类Dev

在删除非数字字段名称的同时将对象转换为数组

来自分类Dev

Php mysql 连接到带有字段名称的子数组

来自分类Dev

存储在数组中并使用不同的字段名称插入

来自分类Dev

使用带有动态字段名称的 jackson 反序列化 json

来自分类Dev

Java-获取某些类型的字段名称

来自分类Dev

xsd到Java bean jaxb字段名称

来自分类Dev

如何在Java中获取类的字段名称

来自分类Dev

Java-获取某些类型的字段名称

来自分类Dev

xsd到Java bean jaxb字段名称

来自分类Dev

如何在Java中获取类的字段名称

来自分类Dev

在 Java 中获取类的字段名称

来自分类Dev

PHP:将对象转换为数组会给我带名称空间的数组字段名称索引吗?

Related 相关文章

  1. 1

    JSON的Java对象:字段名称

  2. 2

    空字段名称的数组对象

  3. 3

    如何映射对象数组的名称以更改字段名称?

  4. 4

    用jQuery解析未知字段名称的JSON多个数组

  5. 5

    仅根据字段名称对类数组进行排序

  6. 6

    使用数组值作为对象字段名称

  7. 7

    Java - JMockit 测试 2 个具有相同字段名称的注入类

  8. 8

    python + django尝试将mongoengine文档序列化为json,但仅获取字段名称数组

  9. 9

    映射时,如何使Dapper忽略/删除字段名称中的下划线?

  10. 10

    Java - 如何从 JSON Schema 获取所有字段名称

  11. 11

    如何使用 GSON 库在 Java 对象和 JSON 文件之间映射字段名称

  12. 12

    根据字段名称值对numpy结构化数组中的值进行排序

  13. 13

    MongoDB查询以在没有字段名称的嵌套数组中搜索文本

  14. 14

    Mongo聚合基于字段名称收集数组元素

  15. 15

    合并子数组并将字段名称保留为值

  16. 16

    mongodb:使用字段名称的动态参数对嵌套数组进行排序

  17. 17

    根据字段名称值对numpy结构化数组中的值进行排序

  18. 18

    在删除非数字字段名称的同时将对象转换为数组

  19. 19

    Php mysql 连接到带有字段名称的子数组

  20. 20

    存储在数组中并使用不同的字段名称插入

  21. 21

    使用带有动态字段名称的 jackson 反序列化 json

  22. 22

    Java-获取某些类型的字段名称

  23. 23

    xsd到Java bean jaxb字段名称

  24. 24

    如何在Java中获取类的字段名称

  25. 25

    Java-获取某些类型的字段名称

  26. 26

    xsd到Java bean jaxb字段名称

  27. 27

    如何在Java中获取类的字段名称

  28. 28

    在 Java 中获取类的字段名称

  29. 29

    PHP:将对象转换为数组会给我带名称空间的数组字段名称索引吗?

热门标签

归档