首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Marklogic 9提取-文档- json文档的数据

Marklogic 9提取-文档- json文档的数据
EN

Stack Overflow用户
提问于 2020-11-10 19:53:39
回答 1查看 21关注 0票数 1

文档的结构如下

代码语言:javascript
复制
 {
    "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属性时

代码语言:javascript
复制
<extract-document-data>
                            <extract-path>/drug</extract-path>                                                                                  
                     </extract-document-data>

我得到的响应如下

代码语言:javascript
复制
<search:extracted kind="array">{"drug":"Dolo"}, {"drug":"Crocin"}, {"drug":"Combiflame",{"symptom":"Fever"} {"symptom":"Body Pain"}{"symptom":"Fatiguue"}]</search:extracted>

而我正在寻找的输出是一个json数组,如下所示:

代码语言:javascript
复制
<search:extracted kind="array">[{"drug":["Dolo","Crocin","Combiflame"]}]</search:extracted>
EN

回答 1

Stack Overflow用户

发布于 2020-11-11 06:34:09

将解压缩路径指定为:

代码语言:javascript
复制
/array-node("drug")

在将命名XPath步骤应用于JSON时,MarkLogic跳过数组容器以匹配数组值项。(类似地,MarkLogic跳过对象容器以匹配对象属性。)

为了匹配容器,XPath应该提供一个显式的节点测试,比如array-node()object-node()

有关更多详细信息,请参阅:

https://docs.marklogic.com/guide/app-dev/json#id_15818

希望这能有所帮助,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64768455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档