gpt4 book ai didi

json - 从 XQuery 重建和转换 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 05:16:31 25 4
gpt4 key购买 nike

是否可以在 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()

但这有一些明显的局限性。

最佳答案

恐怕使用 json:object 真的是这里的使用方式。但可能更糟,您只需要几行即可复制所有 json 属性。您也不需要那个 document{} 构造函数,也不需要转换为 json:object 的额外类型。 xdmp:from-json 已经返回一个 json:object:

let $org := xdmp:from-json($json)
let $new := json:object()
let $_ :=
for $key in map:keys($org)
return map:put($new, $key, map:get($org, $key))
return xdmp:to-json($new)/node()

喂!

关于json - 从 XQuery 重建和转换 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36000887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com