【问题标题】:How to parse this boolean contained JSON output with jq?如何用 jq 解析这个包含布尔值的 JSON 输出?
【发布时间】:2021-10-16 21:41:20
【问题描述】:

我试图解析的 JSON 输出:

{
  "success": true,
  "data": {
    "aa": [
      {
        "timestamp": 123456,
        "price": 1
      },
      {
        "timestamp": 123457,
        "price": 2
    ],
    "bb": [
      {
        "timestamp": 123456,
        "price": 3
      },
      {
        "timestamp": 123457,
        "price": 4
      }
    ]
  }
}

所以在我的头撞墙一百万次之后,我刚刚从输出中删除了 "success": true", 行,我可以轻松地用它做 jq 的东西。否则,如果我跑例如:

cat jsonfile.json | jq -c .[].aa

我会得到:

不能用字符串“aa”索引布尔值

这是有道理的,因为第一个键是布尔值。但我不知道如何在使用 jq 处理时跳过它。

目标是只过滤“aa”的时间戳和价格,而不关心“成功”:真正的键/值对。

【问题讨论】:

    标签: json jq


    【解决方案1】:

    您需要先选择data字段:jq .data.aa[]

    【讨论】:

    • 谢谢。不知道我自己是如何没有找到这个解决方案的。简单且完全有意义。感到惭愧。希望有一天这可以帮助其他人!
    • 有时我们看起来很努力,我们看不到。这个领域的人都去过!
    • @Sala Dus,如果这回答了您的问题,请勾选旁边的标记。
    猜你喜欢
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多