在杰克逊的 属性 中添加 属性

Adding property inside property in jackson

我有一个特定的 Geojson 结构(特征)存储为字符串,请参见下面的示例:

{
  "type": "Feature",
  "properties": {
    "scalerank": 2,
    "adm1_code": "USA-3514",
    "diss_me": 3514,
    "adm1_cod_1": "USA-3514",
    "iso_3166_2": "US-MN"
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        ....
      ]
    ]
  }
}

我想在该 geojson 上附加并进行一些修改。 所以我所做的是首先使用以下方法将此结构映射到 Jackson ObjectNode:

           ObjectNode bufferFeature = mapper.valueToTree(bufferPolygon);

然后我想在属性中附加一些元素以添加一些新属性。 我知道如何在不指定父级的情况下正常添加 属性,我使用 bufferFeature.put("prop1","value");

所以我的问题是:如何在特定的 属性 中添加新的 属性?

您必须使用与要添加 属性 的对象相对应的 ObjectNode。尝试,例如:bufferFeature.with("properties").put("prop1", "value").

查看 的答案。