我看不出有什麼困難。如果您確定您的根JSON是JSON對象,只需將由ObjectMapper#readTree(..)
返回的值轉換爲ObjectNode
並對其進行處理。
String json = "{\"sample\": \"some value\", \"nested\": {\"prop\": 123, \"nestedArray\":[1,2, \"string value\"], \"array\":[null, 42]}}";
ObjectNode node = (ObjectNode) new ObjectMapper().readTree(json);
System.out.println(node);
ArrayNode arrayNode = node.putArray("new array");
arrayNode.add(true).add(1).add("new value"); // chain add calls
arrayNode.addObject().put("nestedInArray", "nested object value"); // add an object and add to it
System.out.println(node);
打印
{"sample":"some value","nested":{"prop":123,"nestedArray":[1,2,"string value"],"array":[null,42]}}
{"sample":"some value","nested":{"prop":123,"nestedArray":[1,2,"string value"],"array":[null,42]},"new array":[true,1,"new value",{"nestedInArray":"nested object value"}]}
請注意,您還可以添加自定義的對象了。它們通常會包裹在POJONode
對象中。
你在做什麼就好。如果有的話,如果你知道它是一個JSON對象,那麼將'node'的聲明類型設置爲'ObjectNode'並且轉換'readTree'的返回值。 –
它看起來像你想改變輸入JSON,然後反序列化到你的POJO類,不是嗎? –