4

我希望能够通过使用 Jackson 进行 JSON 处理的 JAX-RS 服务来使用 GeoJSON。我对如何正确处理它感到有些困惑。问题是 GeoJSON 的一部分可以是数组、数组数组或数组数组的数组……我不知道如何为这种情况指定 bean。

在 GeoJSON 中,几何结构可以将坐标作为数组:

{ "type": "Point", "coordinates": [100.0, 0.0] }

或数组数组:

{ "type": "LineString",
    "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]
}

或数组数组:

{ "type": "Polygon",
   "coordinates": [
   [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
   ]
}

我如何定义要进入的pojo?

public class Geometry {
    public String type;
    public List<Double> coordinates;              // this
    public List<List<Double>> coordinates;        // or this
    public List<List<List<Double>>> coordinates;  // or this?

}

4

2 回答 2

3

最终创建了一些带有杰克逊注释的bean。我已经把这些放在谷歌代码中。代码可以在这里找到:http ://code.google.com/p/belteshazzar-geojson/source/browse/#svn%2Ftrunk%2Fsrc%2Fmain%2Fjava%2Fcom%2Fbelteshazzar%2Fgeojson

于 2013-03-21T23:35:31.073 回答
2

我如何定义要进入的pojo?

我在将 GeoJSON 字符串建模为 POJO 时遇到了同样的问题。但是,当我遇到GeoJSON-POJO 时,我放弃了重新发明轮子的尝试,这是 GeoJSON 格式规范 1.0 的简单 POJO 实现。

工作得很好。

于 2015-02-05T08:55:26.570 回答