Java 使用lambda更新JSON值
我想获取一个JsonNode树并更新每个值。这可以通过lambda表达式实现吗Java 使用lambda更新JSON值,java,json,lambda,Java,Json,Lambda,我想获取一个JsonNode树并更新每个值。这可以通过lambda表达式实现吗 { "resource": { "key1": "value1", "key2": "value2", "key3": "value3" } } 我尝试使用以下逻辑: JsonNode json = new ObjectMapper().readTree(new ObjectMapper().writeValueAsString(myObject));
{
"resource": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
}
我尝试使用以下逻辑:
JsonNode json = new ObjectMapper().readTree(new ObjectMapper().writeValueAsString(myObject));
ObjectNode rootNode = (ObjectNode) json;
ObjectNode resourceNode = (ObjectNode) rootNode.path("resource");
//Psuedo Code here
resourceNode.forEach(node -> node.value = myFunc(node.value));
提前谢谢 实际上你可以做到:
resourceNode.fieldNames().forEachRemaining(
s -> resourceNode.set(s, new TextNode(func(resourceNode.get(s).asText())))
);
用于迭代键/值对:
resourceNode.fields().forEachRemaining(
entry -> resourceNode.set(
entry.getKey(),
func(entry.getValue())
)
);
我不认为你能,看@RC它是可能的,那好多了