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

如何使用jq将JSON数组元素转为带引号字符串并新增Data属性

使用jq实现指定的JSON格式转换

我来帮你搞定这个JSON格式转换的需求!你需要把原JSON中features数组每个元素的properties对象转成带转义引号的JSON字符串,再作为新数组元素的Data属性值,用jq可以轻松实现。

核心jq命令

jq '.features | map({Data: (.properties | tojson)})'

命令拆解解释

  • .features:首先定位到原JSON结构里的features数组,这是我们要处理的目标数据集合
  • map(...):遍历数组中的每一个元素,对每个元素执行括号内的转换逻辑
  • (.properties | tojson):针对每个元素,先提取出properties对象,再用tojson函数把它转换成带转义引号的JSON字符串(这一步自动帮你处理引号转义的问题)
  • {Data: ...}:把转换后的字符串包装成一个包含Data属性的对象,最终所有处理后的对象会组成一个新数组

示例验证

输入的原始JSON

{ 
  "type": "type1", 
  "name": "abc", 
  "features": [ 
    { 
      "type": "Feature", 
      "properties": { 
        "district": "d1", 
        "district_code": "101", 
        "block_code": "1010070" 
      }
    }, 
    { 
      "type": "Feature", 
      "properties": { 
        "district": "d1", 
        "district_code": "101", 
        "block_code": "1010100" 
      }
    }
  ] 
}

执行命令后的输出

[
  {
    "Data": "{\"district\":\"d1\",\"district_code\":\"101\",\"block_code\":\"1010070\"}"
  },
  {
    "Data": "{\"district\":\"d1\",\"district_code\":\"101\",\"block_code\":\"1010100\"}"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:23:02