读取从URI获得的Json文件--Marklogic

时间:2017-09-12 19:32:22

标签: java jackson marklogic

我需要在比较是否需要更新值之后在Json文档上应用补丁。 我有json文档的DocumentRecord对象(documentRecord)。如何阅读Json文档的内容。使用documentRecord我也有uri文档

URI是:      /employee/emp1.json 工资信息在以下标记下:      /雇员/ YearlySalary /薪水 此json文件包含名称和工资信息。现在我需要从这个文件中读取薪水标签的值。我可以得到以下内容:

JacksonHandle content = documentRecord.getContent(new JacksonHandle());

2 个答案:

答案 0 :(得分:0)

如果您获得包含完整文档内容的DocumentRecord,则没有理由使用补丁。只需在本地修改文档并将其写回服务器即可。

答案 1 :(得分:0)

要阅读和修改JSON文档的内容,请使用JacksonHandle.get()获取JsonNode对象。例如,给定json doc

{"objA":[
  {"objB":{"propertyName":"value1"}},
  {"objC":{"propertyName":"value2"}}
]}

您可以像这样更改第一个propertyName的值:

JsonNode objB = content.get().path("objA").path(0).path("objB");
if ( objB instanceof ObjectNode ) {
  ((ObjectNode) objB).put("propertyName", "newValue");
}

然后你可以像这样写回db:

documentManager.write(uri, new JacksonHandle(content));