json在Java中使用JsonPath添加嵌套值
我正在Java中使用JsonPath,我想知道是否有办法使用路径规范添加嵌套值。下面的例子将说明这一点
我有这个json
{"attr1":"value1"}
由于我需要大量处理json,并且我不想每次都解析它(根据documentation),所以我以以下方式加载json
String sJson = "{\"attr1\":\"value1\"}"
Object json = Configuration.defaultConfiguration().jsonProvider().parse(sJson);
我想添加一个值,以便最终的json是
{"attr1":"value1","attr2":{"nested_attr1":"nested_value1"}}
添加attr2
以获得该结果的最佳方法是什么?有没有一种方法可以使用JsonPath语法(attr2.nested_value1
)
如果我使用
Configuration.defaultConfiguration().jsonProvider().setProperty(json, "attr2.nested_attr1", "nested_value1");
我得到的是一个更新后的json
{"attr1":"value1","attr2.nested_attr1":"nested_value1"}
这是因为setProperty
不适用于路径。我试着用
JsonPath.parse(json).put("$", "attr2.nested_attr1", "nested_value1"").jsonString();
但我每次都要来回解析json,第二次我得到的结果和以前一样。有没有办法解决这个问题,或者我必须自己实现嵌套的add
共 (0) 个答案