JSON转换需求:提取accounts/后内容为id并调整结构
解决方案
基于Jolt扩展原有转换规则
直接在你已有的shift转换配置上扩展,实现字段提取和结构调整:
{ "spec": { "accounts": { "*": { "name": { "accounts/*": { "$": "[&3].id", "@(2,createTime)": "[&3].createTime", "@(2,updateTime)": "[&3].updateTime" } } } } } }
使用JQ命令快速处理
如果用JQ工具,一行命令就能完成转换:
jq '.accounts[] | {id: (.name | split("/")[1] | .[:7]), createTime, updateTime}' input.json
逻辑说明
不管用哪种方式,核心逻辑都是:
- 展开
accounts数组中的每个对象 - 从
name字段里拆分出accounts/后面的字符串,截取前7位作为id - 保留原对象的
createTime和updateTime字段,最终输出目标数组结构
内容的提问来源于stack exchange,提问作者fujidaon
相关产品推荐
相关产品推荐

