从jsonpatch请求获取/修改特定数据

kr98yfug  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(338)

在将jsonpatch应用到主对象之前,我需要修改它,我搜索了很多,但没有找到任何解决方案。
我有一个jsonpatch请求如下:

[op: replace; path: "/size"; value: "1", op: replace; path: "/name"; value: "test"]

现在在下面的代码中,我想要这个jsonpatch对象的一个循环来修改一些值(例如name)。

public void patch(JsonPatch jsonPatch) throws JsonPatchException {

   // need a foreach here to access JSONPatch object to modify some values

   jsonPatch.apply(objectMapper.convertValue(myObject, JsonNode.class));

}
avwztpqn

avwztpqn1#

通过这样做找到了解决方案:

var jsonPatchList = objectMapper.convertValue(jsonPatch, JsonNode.class);

for(int i = 0; i < jsonPatchList.size(); i++) {
    log.debug("Path: {}", jsonPatchList.get(i).get("path"));
    log.debug("Value: {}", jsonPatchList.get(i).get("value"));
}

相关问题