1. ホーム
  2. json

JsonNodeに新しいノードを挿入するには?

2023-10-20 07:46:42

質問

新しいJsonNodeを作成しました。

JsonNode jNode = new ObjectCodec().createObjectNode();

このノードで、新しい値で新しいノードを構築するために、どのようにキーと値のペアを追加するのでしょうか?私が読んだもの http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html を使用することについて言及しました。

jNode.with("newNode").put("key1","value1");

しかし、JacksonのJsonNode(v1.8)のAPIを見ても、そのようなメソッドは見当たりません。

どのように解決するのでしょうか?

これらのメソッドは ObjectNode に含まれるように分割されています。 JsonNode に含まれますが、突然変異は ObjectNodeArrayNode .

なお、1行目は変更するだけでOKです。

ObjectNode jNode = mapper.createObjectNode();
// version ObjectMapper has should return ObjectNode type

または

ObjectNode jNode = (ObjectNode) objectCodec.createObjectNode();
// ObjectCodec is in core part, must be of type JsonNode so need cast