【问题标题】:shell scrript - how to get key name of nested jsonshell 脚本 - 如何获取嵌套 json 的键名
【发布时间】:2024-01-07 10:54:01
【问题描述】:

我有一个格式如下的 json。我只想获取嵌套数组的那些字段的键名。对于下面的 json,我想输入等于“cd”的输出键名,因为这是唯一嵌套的。 是否有任何命令可用于获取此值。

{
  "ab": null,
  "cd": [
    "ST",
    "CO:,
  ],
  "EF": 0,
  "GH": 0,
  "IJ": null,
  "IK": true,
},

【问题讨论】:

    标签: json bash sh jq


    【解决方案1】:

    这是使用 jq 获得所需输出的一种方式。

    jq 'to_entries[]|select(.value|type == "array")|.key' <<< '
    {
      "ab": null,
      "cd": [ "ST","CO" ],
      "EF": 0,
      "GH": 0,
      "IJ": null,
      "IK": true
    }'
    

    请注意,我修改了输入以使其成为有效的 json。

    要了解它是如何工作的,请先查看命令 jq 'to_entries' 返回的内容。一旦你看到了,剩下的就应该很清楚了。

    【讨论】:

      最近更新 更多