在jackson中添加属性内的属性

时间:2018-04-17 14:50:15

标签: java jackson jackson-databind jackson-dataformat-xml

我有一个特定的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”);

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

1 个答案:

答案 0 :(得分:0)

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

请参阅this question的答案。