我将以下JSON文档分配给变量$ node:
{ "b": "value",
"c1": 1,
"c2": 2,
"d": "",
"e": ""
}
我不知道如何获得每个节点。我试过$ node // node()。但没有得到每个单节点。我需要查询这个JSON文档以跳过空节点&插入Marklogic DB,如下所述:
{“b”:“value”, “c1”:1, “c2”:2 }
我是处理JSON文档的新手,请提供帮助。
提前致谢。
答案 0 :(得分:1)
不确定这是否符合您的需求,但这样的方法可行:
let $node := xdmp:unquote('
{ "b": "value",
"c1": 1,
"c2": 2,
"d": "",
"e": ""
}
')/node()
return xdmp:to-json(map:new((
for $property in $node/node()
where string-length(string($property)) > 0
return
map:entry(name($property), data($property))
)))
HTH!