XQuery で JSON オブジェクトを再構築することは可能ですか? XML を使用すると、計算されたコンストラクターを使用して要素を再構築できます。
element { node-name($some-element) } {
(: Do stuff with $some-element/(@*|node()) :)
}
しかし、JSON オブジェクトを使用すると、プロパティを再構築することはできないようです。私はこのようなことをしたいのですが、これは構文エラーをスローします:
object-node {
for $p in $some-json-object/*
return node-name($p) : $p
}
JSON オブジェクトを変更することで回避できるようです。
let $obj := json:object(document{xdmp:from-json($json)}/*)
let $_put := map:put($o, 'prop-name', $prop-val)
return xdmp:to-json($o)/node()
しかし、これにはいくつかの明らかな制限があります。