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