使用jq列出JSON对象中的键

瑞安

我有一个由科学仪器创建的层次结构深的JSON对象,因此该文件有些大(1.3MB),人们不易读取。我想获取JSON对象的键列表,直到一定深度为止。例如,给定这样的输入对象

{
    "acquisition_parameters": {
        "laser": {
            "wavelength": {
                "value": 632,
                "units": "nm"
            }
        },
        "date": "02/03/2525",
        "camera": {}
    },
    "software": {
        "repo": "github.com/username/repo",
        "commit": "a7642f",
        "branch": "develop"
    },
    "data": [{},{},{}]
}

我想要这样的输出。

{
    "acquisition_parameters": [
        "laser",
        "date",
        "camera"
    ],
    "software": [
        "repo",
        "commit",
        "branch"
    ]
}

这主要是为了能够枚举JSON对象中的内容。从仪器处理完JSON对象后,它们开始出现歧义:例如,某些对象可能具有字段,例如.frame.cross_section.stats.fwhm,而其他字段可能具有.sample.species,因此能够在命令行上查询JSON对象将很方便。

瓦格

以下应该完全满足您的要求

jq '[(keys - ["data"])[] as $key | { ($key): .[$key] | keys }] | add'

使用上面描述的输入,将提供以下输出:

{
  "acquisition_parameters": [
    "camera",
    "date",
    "laser"
  ],
  "software": [
    "branch",
    "commit",
    "repo"
  ]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 jq,获取特定键的值,该键位于数组中的 shell 定义的 JSON 对象内

来自分类Dev

使用 jq 为文件中的 json 数组中的每个对象添加一个新的键/值

来自分类Dev

使用 jq 解析 json 树中的多个键/值

来自分类Dev

jq:从平面键创建JSON对象

来自分类Dev

在列出的json数组中列出对象

来自分类Dev

使用jq获取选定对象的父键

来自分类Dev

如何使用jq打印特定的对象键?

来自分类Dev

在jq中使用多个通配符选择JSON文件中的对象

来自分类Dev

使用jq使用可变键构造JSON

来自分类Dev

在JQ中使用JSON键作为查找

来自分类Dev

如何使用jq在json文件中使用对象过滤子对象中的某些数组

来自分类Dev

如何使用BigQuery提取JSON对象中的所有键

来自分类Dev

如何使用Jackson解析JSON对象中的外键

来自分类Dev

使用Groovy仅从JSON对象中获取键

来自分类Dev

如何使用Javascript动态替换JSON对象键中的空格?

来自分类Dev

PostgreSQL:使用json对象从数组中删除键/值对

来自分类Dev

如何使用整数键简单地访问JSON中的对象?

来自分类Dev

如何使用相同的键从json对象中获取项目?

来自分类Dev

如果键使用jq与相同数组中的另一个键匹配,则从JSON文件中删除条目

来自分类Dev

如何使用键从json数组中获取json对象属于一个json对象

来自分类Dev

从bash中以竖线分隔的键和值使用jq创建JSON

来自分类Dev

使用JSON和JQ中的特定键获取具有所有值的数组

来自分类Dev

使用jq在JSON结构中更深入地转换键的名称

来自分类Dev

使用jq获取基于json中另一个属性的键列表

来自分类Dev

使用jq过滤内部数组中仅包含一个最大对象的JSON外部对象

来自分类Dev

jq-重新格式化JSON并将值作为键放入新的数组和对象中?

来自分类Dev

使用jq将对象转换为具有值的键

来自分类Dev

如何使用jq将对象键转换为数组

来自分类Dev

如何使用jq过滤json对象数组?

Related 相关文章

  1. 1

    使用 jq,获取特定键的值,该键位于数组中的 shell 定义的 JSON 对象内

  2. 2

    使用 jq 为文件中的 json 数组中的每个对象添加一个新的键/值

  3. 3

    使用 jq 解析 json 树中的多个键/值

  4. 4

    jq:从平面键创建JSON对象

  5. 5

    在列出的json数组中列出对象

  6. 6

    使用jq获取选定对象的父键

  7. 7

    如何使用jq打印特定的对象键?

  8. 8

    在jq中使用多个通配符选择JSON文件中的对象

  9. 9

    使用jq使用可变键构造JSON

  10. 10

    在JQ中使用JSON键作为查找

  11. 11

    如何使用jq在json文件中使用对象过滤子对象中的某些数组

  12. 12

    如何使用BigQuery提取JSON对象中的所有键

  13. 13

    如何使用Jackson解析JSON对象中的外键

  14. 14

    使用Groovy仅从JSON对象中获取键

  15. 15

    如何使用Javascript动态替换JSON对象键中的空格?

  16. 16

    PostgreSQL:使用json对象从数组中删除键/值对

  17. 17

    如何使用整数键简单地访问JSON中的对象?

  18. 18

    如何使用相同的键从json对象中获取项目?

  19. 19

    如果键使用jq与相同数组中的另一个键匹配,则从JSON文件中删除条目

  20. 20

    如何使用键从json数组中获取json对象属于一个json对象

  21. 21

    从bash中以竖线分隔的键和值使用jq创建JSON

  22. 22

    使用JSON和JQ中的特定键获取具有所有值的数组

  23. 23

    使用jq在JSON结构中更深入地转换键的名称

  24. 24

    使用jq获取基于json中另一个属性的键列表

  25. 25

    使用jq过滤内部数组中仅包含一个最大对象的JSON外部对象

  26. 26

    jq-重新格式化JSON并将值作为键放入新的数组和对象中?

  27. 27

    使用jq将对象转换为具有值的键

  28. 28

    如何使用jq将对象键转换为数组

  29. 29

    如何使用jq过滤json对象数组?

热门标签

归档