2017-09-13 14 views
0

나는 $ 노드로 변수에 할당 다음 JSON 문서가 있습니다. 나는 $ node // node()로 시도했다. 그러나 각 단일 노드를 얻지 못합니다.XQuery를 사용하여 JSON 문서를 필터링하는 방법은 무엇입니까?</p> <pre><code>{ "b": "value", "c1": 1, "c2": 2, "d": "", "e": "" } </code></pre> <p>나는 각각의 단일 노드를 얻는 방법을 알고하지 않습니다

{ "B": "값", "C1": 1, "C2"나는 다음과 같이 언급 한 Marklogic DB로 빈 노드를 & 삽입을 건너 뛰려면이 JSON 문서를 조회해야합니다 2 }

JSON 문서를 친절하게 도와 드리겠습니다.

미리 감사드립니다. 이 당신의 요구에 일치하는 경우는 있지만,이 같은 작업 것이다

+0

아마도 노드를 반복하는 데 어떤 문제가 있었는지 이해하는 데 도움이 될 것입니다 (노드 생성자 용어로 보입니다). document {object-node { "b": text { "value" }, "c1": 숫자 노드 {1}, "c2": 숫자 노드 {2}, ...}}. 그래서 $ node/object-node()/node()는 자식을 처리합니다. – kcoleman

답변

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!

+0

감사합니다,이 하나의 도움이됩니다. – LSB