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

如何用JMESPath将扁平JSON键值对拼接为指定格式字符串?

用JMESPath实现键值对按k:v:k:v格式拼接的解决方案

你的需求完全可以用JMESPath实现,之前的表达式问题在于先把所有键和所有值分别收集再拼接,导致顺序不符合预期。正确的思路是先将每个键值对单独拼接成k:v格式的字符串,再把这些字符串用:连接起来。

正确的JMESPath表达式

data | to_entries(@) | map(&join(':', [key, value]), @) | join(':', @)

步骤拆解

  • to_entries(@):将扁平的data对象转换为条目数组,结构变为:
    [{"key": "k1", "value": "v1"}, {"key": "k2", "value": "v2"}]
    
  • map(&join(':', [key, value]), @):遍历每个条目,把每个条目的key和value用:拼接,得到数组:
    ["k1:v1", "k2:v2"]
    
  • join(':', @):将上述数组中的所有字符串用:连接,最终得到目标格式:"k1:v1:k2:v2"

这个方法支持任意数量的键值对,完全适配你说的“键值对数量不固定”的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:22:03