2017-09-12 55 views
0

在比較是否需要更新值時,我需要在Json文檔上應用補丁。 我有json文檔的DocumentRecord對象(documentRecord)。我如何閱讀Json文檔的內容。使用documentRecord我的文檔URI也讀取從URI獲取的Json文件 - Marklogic

URI是: /employee/emp1.json 工資信息是根據以下標籤: /員工/ YearlySalary /工資 此JSON文件包含姓名和薪水的信息。現在,我需要從這個file.I讀取工資標籤的價值緩行得到如下:

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

回答

0

如果你得到一個DocumentRecord與完整的文檔內容,沒有理由使用補丁。只需在本地修改文檔並將其寫回服務器。

0

要閱讀和修改JSON文檔的內容,請使用JacksonHandle.get()獲取JsonNode對象。例如,給定JSON文檔

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

然後,你可以寫回分貝,像這樣:

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