You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用XQuery的for循环遍历输出JSON指定节点的键值对?

XQuery代码实现遍历JSON键值对(使用for循环)

需求说明

从给定的JSON结构中提取transation对象下的所有键值对,通过for循环实现并输出指定格式的结果。

实现代码

以下是两种实现方式,均基于for循环处理:

方式1:基础循环输出(含末尾逗号)

let $json := parse-json('{
"id":"743",
"groupName":"group1",
"transation":{
    "101":"success",
    "102":"rejected",
    "301":"processing"
     }
}')
for $entry in map:entries($json?transation)
return concat('"', $entry?key, '":"', $entry?value, '",')

方式2:优化格式输出(无末尾逗号,换行分隔)

let $json := parse-json('{
"id":"743",
"groupName":"group1",
"transation":{
    "101":"success",
    "102":"rejected",
    "301":"processing"
     }
}')
let $formatted-entries := 
    for $entry in map:entries($json?transation)
    return concat('"', $entry?key, '":"', $entry?value, '"')
return string-join($formatted-entries, ',
')

代码说明

  1. parse-json:将JSON字符串解析为XQuery的映射(map)对象,便于后续操作。
  2. map:entries:把transation对应的map转换为键值对条目序列,每个条目包含key和value属性。
  3. for循环:遍历每个键值对条目,拼接成符合预期的字符串格式。
  4. string-join(方式2中使用):将所有格式化后的键值对用,\n连接,避免末尾出现多余逗号,同时保证换行分隔的格式。

内容的提问来源于stack exchange,提问作者Balan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 12:03:22