编写XQuery提取JSON中值非数组的键
XQuery提取JSON中值非数组/对象的顶层键
以下是实现需求的XQuery代码,能提取出JSON里值既不是数组也不是对象的顶层键,完全匹配示例预期结果:
let $json-data := parse-json('{ "id":"743", "transation":{ "101":"success", "102":"rejected", "301":"processing" }, "groupName":"group1" }') for $key in map:keys($json-data) let $value := $json-data($key) where not(array:is-array($value)) and not(map:is-map($value)) return $key
代码说明:
- 使用
parse-json()将JSON字符串解析为XQuery可操作的map/array结构 map:keys()获取JSON的所有顶层键名- 通过
array:is-array()和map:is-map()判断值类型,过滤掉值为数组或对象的键(比如示例中的transation) - 返回符合条件的键名,每个键自动换行输出
执行代码后输出结果:
id groupName
内容的提问来源于stack exchange,提问作者Balan
相关产品推荐
相关产品推荐

