我设法使用 jsonPath 和此代码更新 json 对象
JSONObject json = new JSONObject("{\"data\":[{\"city\":\"New York\",\"name\":\"John\",\"age\":31},{\"city\":\"Paris\",\"name\":\"Jack\",\"age\":12}]}");
DocumentContext doc = JsonPath.parse(json.toString())
.set("$..name","newName");
System.out.println("doc.jsonString() = " + doc.jsonString());
Run Code Online (Sandbox Code Playgroud)
输出:
doc.jsonString() = {"data":[{"city":"New York","name":"newName","age":31},{"city":"Paris","name":"newName","age":12}]}
Run Code Online (Sandbox Code Playgroud)
现在我想根据旧值更新值(通过对旧值应用函数
)
DocumentContext doc = JsonPath.parse(json.toString())
.set("$..name",upper(oldValue))
.set("$..age", oldValue+10);
Run Code Online (Sandbox Code Playgroud)
这将导致以下 json
doc.jsonString() = doc.jsonString() = {"data":[{"city":"New York","name":"JOHN","age":41},{"city":"Paris","name":"JACK","age":22}]}
Run Code Online (Sandbox Code Playgroud)
有人知道我如何能够像这样引用旧值吗?
问候,
我目前使用的是 NiFi 1.5.0(但它与以前的版本相同),我想知道是否有办法同时清除所有队列?
当处理器数量增加时,重置所有内容可能会很长。
(我已经知道如何清除单个队列: 如何清除 NiFi 队列?)
我正在寻找使用 UI 或 API 的解决方案
提前致谢 !