【问题标题】:Unable to filter JSON output using jq. I am using CURL无法使用 jq 过滤 JSON 输出。我正在使用卷曲
【发布时间】:2016-09-30 11:21:03
【问题描述】:

我无法过滤以下内容。

我需要找出以下 JSON 文件的名称标签下以“SnapshotSet”开头的名称的数量。

示例 - "name": "SnapshotSet.1475076959480"

作为第一步,我试图过滤掉所有以 SnapshotSet 开头的名称...但收到以下错误。

jq'.snapshot-sets[]' testjq 错误:未定义集合

但是当我过滤掉链接时,我能够得到一个输出

  jq '.links[]' testjq
{
  "href": "https://test.com/api/json/v2/types/snapshot-sets/",
  "rel": "self"
}

与名称“快照集”有什么关系?

请在下面找到 JSON 文件。

{
"links": [
    {
        "href": "https://test.com/api/json/v2/types/snapshot-sets/",
        "rel": "self"
    }
],
"snapshot-sets": [
    {
        "href": "https://test.com/api/json/v2/types/snapshot-sets/1",
        "name": "SnapshotSet.1475076959480"
    },
    {
        "href": "https://test.com/api/json/v2/types/snapshot-sets/3",
        "name": "SnapshotSet.1475165496304"
    },
    {
        "href": "https://test.com/api/json/v2/types/snapshot-sets/2",
        "name": "SnapshotSet.1475158265437"
    },
    {
        "href": "https://test.com/api/json/v2/types/snapshot-sets/63659",
        "name": "server1a_b_c_STFS1474869600618"
    },

【问题讨论】:

    标签: json key jq


    【解决方案1】:

    正如here 所解释的,当密钥包含- 字符时,不能使用缩写形式.keyname

    您可以运行以下命令从文件中获取所有名称的列表:

    jq '."snapshot-sets"[].name' testjq
    

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多