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

如何用Shell工具将JSON中的非字符串键转换为字符串键

解决方法:将非标准JSON转为标准格式(键转为字符串)

方法1:使用jq默认解析(简单场景)

直接用jq读取文件并输出标准JSON即可,jq会自动将数字类型的键转换为字符串形式:

jq . foo.txt

执行后输出的标准JSON为:

{
  "methods": {
    "0": "GET"
  }
}

方法2:递归处理所有层级的键(复杂嵌套场景)

如果你的JSON存在多层嵌套对象,需要确保所有层级的键都转为字符串,可以用walk和with_entries组合处理:

jq 'walk(if type == "object" then with_entries(.key |= tostring) else . end)' foo.txt

这个命令会遍历JSON的所有节点,只要是对象类型,就将其所有键转为字符串,其他类型节点保持原样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:40:46