文档的结构如下
{
"sNo": 0,
"id": 31575378,
"title": "Sustained preventive chemotherapy",
"journal": "Infectious diseases of poverty",
"publ_date": "2019-10-03",
"species": "Human",
"drug": ["Allegra", "Citrizin"],
"symptom": ["Cold", "Cough", "Fatigue"]
}当我试图从文档中提取药品的json属性时
<extract-document-data>
<extract-path>/drug</extract-path>
</extract-document-data>我得到的响应如下
<search:extracted kind="array">{"drug":"Dolo"}, {"drug":"Crocin"}, {"drug":"Combiflame",{"symptom":"Fever"} {"symptom":"Body Pain"}{"symptom":"Fatiguue"}]</search:extracted>而我正在寻找的输出是一个json数组,如下所示:
<search:extracted kind="array">[{"drug":["Dolo","Crocin","Combiflame"]}]</search:extracted>发布于 2020-11-11 06:34:09
将解压缩路径指定为:
/array-node("drug")在将命名XPath步骤应用于JSON时,MarkLogic跳过数组容器以匹配数组值项。(类似地,MarkLogic跳过对象容器以匹配对象属性。)
为了匹配容器,XPath应该提供一个显式的节点测试,比如array-node()或object-node()
有关更多详细信息,请参阅:
https://docs.marklogic.com/guide/app-dev/json#id_15818
希望这能有所帮助,
https://stackoverflow.com/questions/64768455
复制相似问题