Get/Modify 来自 jsonPatch 请求的特定数据

Get/Modify specific data from jsonPatch request

我需要修改 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));
   
}

通过执行以下操作找到了解决方案:

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"));
}