【问题标题】:How do I convert a json field of nested arrays into a Java entity?如何将嵌套数组的 json 字段转换为 Java 实体?
【发布时间】:2019-06-01 10:03:04
【问题描述】:

我有一个来自Twitter Stream APIjson。此 json 中的一个字段由一个 nested 数组组成。

这个 json 字段如下所示:

{
"bounding_box": {
"coordinates": [
  [
    [
      -74.026675,
      40.683935
    ],
    [
      -74.026675,
      40.877483
    ],
    [
      -73.910408,
      40.877483
    ],
    [
      -73.910408,
      40.3935
    ]
  ]
],
"type": "Polygon"
}
}

我创建了一个名为 BoundingBox 的 java 类,并在其中定义了一个坐标类型的变量。这个变量应该是什么类型?

我需要有关如何将此空间转换为 Java 对象的帮助。你能帮帮我吗?

【问题讨论】:

  • 你是否使用任何库来解析这个 json?
  • @michalk 是的,我正在使用 google gson 解析 json

标签: java arrays twitter-streaming-api


【解决方案1】:

实际上,您的coordinates 属性是三维数组,因此要解析它,您必须使用例如List<List<List<Double>>>。您的 BoundingBox 课程可能如下所示:

public class BoundingBox {
    private List<List<List<Double>>> coordinates;
    private String type;
    // constructors, getters, setter
}

我个人认为将数据存储在三个嵌套列表中是一种不好的方法,您应该考虑如何在逻辑上排列这些数据。也许最嵌套的列表代表某个位置的 x、y 坐标,您可以创建另一个 POJO,这实际上会使您的数据模型更具可读性。

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 2018-12-27
    • 1970-01-01
    • 2020-02-16
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2021-07-21
    相关资源
    最近更新 更多