2017-09-12 4 views
0

Je dois appliquer un correctif sur le document JSON après avoir comparé si des valeurs doivent être mises à jour ou non. J'ai l'objet DocumentRecord (documentRecord) du document json. Comment puis-je lire le contenu du document JSON. En utilisant documentRecord Je uri du document aussiLecture du fichier JSON obtenu à partir de l'URI - Marklogic

URI

est: /employee/emp1.json information Le salaire est en dessous de tag: /employé/YearlySalary/salaire Ce fichier contient des informations JSON nom et salaire. Maintenant, je dois lire la valeur de l'étiquette de salaire de cette file.I amble pour obtenir ci-dessous:

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

Répondre

0

Si vous obtenez un DocumentRecord avec le contenu complet de documents, il n'y a aucune raison d'utiliser patch. Il suffit de modifier le document localement et de l'écrire sur le serveur.

0

Pour lire et modifier le contenu du document JSON, obtenez l'objet JsonNode à l'aide de JacksonHandle.get(). Par exemple, étant donné JSON doc

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

Vous pouvez modifier la valeur de la première propertyName comme ceci:

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

Ensuite, vous pouvez écrire que revenir à la db comme ceci:

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