当前位置: 首页 > 知识库问答 >
问题:

如何使用JQ获得json的所有第一个对象?[副本]

龙俊良
2023-03-14
"datanode": [
    {
        "isWhitelisted": true,
        "metricname": "write_time",
        "seriesStartTime": 1542037566944,
        "supportsAggregation": true
    },
    {
        "isWhitelisted": true,
        "metricname": "dfs.datanode.CacheReportsNumOps",
        "seriesStartTime": 1542037501137,
        "supportsAggregation": true,
        "type": "COUNTER"
    },
    {
        "isWhitelisted": true,
        "metricname": "FSDatasetState.org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.EstimatedCapacityLostTotal",
        "seriesStartTime": 1542037495521,
        "supportsAggregation": true,
        "type": "GAUGE"
    },
],
    "toto": [
....

而我需要的是提取这个:datanode、toto等。只有名称。

你能帮帮我吗?

我尝试使用jq,但没有成功。

共有1个答案

范云
2023-03-14

您可以使用JQ的功能

jq 'keys' file.json

将来,尝试改进使用哪些词来描述json数据的不同部分。您询问了文本中的对象,但实际上引用了键。

对于这个问题,一个更合适的标题应该是:“如何使用JQ获得json数据的所有顶级键?”使用这个更正确的措辞,您可以找到已经回答过的问题,比如:如何使用jq从JSON中获取键名

{
  "one_key": {
    "foo": "bar"
  },
  "another_one": {
    "bla": "bla"
  }
}
[
  "another_one",
  "one_key"
]
 类似资料:
  • 可能重复: 我有一个嵌套的数据结构/JSON,如何访问一个特定的值? 我想迭代一个二维的json对象...对于一维的json对象,我这样做 关于二维的,我该怎么做??

  • 问题内容: 我在外壳程序脚本中使用jq工具(jq-json-processor)来解析json。 我有2个json文件, 想将它们合并为一个唯一的文件 这里是文件的内容: 文件1 文件2 预期结果 我尝试了很多组合,但是我得到的唯一结果是以下结果,这不是预期的结果: 使用此命令: 问题答案: 从1.4开始,操作员现在可以做到这一点。当给定两个对象时,它将递归合并它们。例如, 重要:请注意该标志,它

  • 问题内容: 我有一个具有@Embedded类Profile的User类。如何给Profile实例引用其所有者User类? 问题答案: 假设JPA而不是严格地处于hibernate状态,则可以通过应用getter / setter对而不是私有成员本身来实现。 但是,我想问的是,在这种情况下,嵌入式实体是否就是您想要的,而不是@OneToOne关系,或者只是将Profile类“展平”到User中。@E

  • 问题内容: 我使用以下代码在Android中使用Gson比较了两个JSON对象: 有两种方法可以使用Gson以JSON格式获取两个对象之间的 差异 吗? 问题答案: 如果将对象反序列化为,则也可以使用Guava,可以用来比较两个生成的地图。 请注意,如果您关心元素的 顺序 ,则不会保留s 字段的顺序,因此此方法不会显示这些比较。 这是您的操作方式: 该程序输出: 在此处阅读更多有关结果对象包含的信

  • 问题内容: 我使用以下代码在Android中使用Gson比较了两个JSON对象: 有两种方法可以使用Gson以JSON格式获取两个对象之间的 差异 吗? 问题答案: 如果将对象反序列化为,也可以使用Guava,则可以用来比较两个生成的地图。 请注意,如果您关心元素的 顺序 ,则不会保留s 字段的顺序,因此此方法不会显示这些比较。 这是您的操作方式: 该程序输出: 在此处阅读更多有关结果对象包含哪些

  • 我有这个json,我需要使用Jackson获得一个货币对象列表(对象本身有一个货币名称字段-“USD”、“type”和“show”),作为结果。我怎样才能用一种简单明了的方式来做呢? 欢迎任何帮助