【问题标题】:JOLT get only one array out of multiple arrays with the same nameJOLT 只获取多个同名数组中的一个数组
【发布时间】:2021-07-26 18:47:21
【问题描述】:

您好,我有一个带有嵌套数组的 JSON,它具有不同的 id 和值,我只想要 first_id 和它的值,但我不知道如何,我只知道如何获取所有 id。见下文

我的 JSON

{
  "rootid": "19718",
  "ids": [
    {
      "id": "first_id",
      "field2": "source",
      "value": "root_value"
    },
    {
      "id": "second_id",
      "field2": "source2",
      "value": "second_value"
    },
    {
      "id": "third_id",
      "field2": "source2",
      "value": "third_value"
    }
  ]
}

我的规格

[
  {
    "operation": "shift",
    "spec": {
      "*": "&",
      "ids": {
        "*": {
          "@value": "@id"
        }
      }
    }
  }
]

我得到的结果:

{
  "rootid" : "19718",
  "first_id" : "root_value",
  "second_id" : "second_value",
  "third_id" : "third_value"
}

我想得到的结果:

{
  "rootid" : "19718",
  "first_id" : "root_value",
}

【问题讨论】:

    标签: json jolt


    【解决方案1】:

    您可以使用"@ids[0]": "ids" 选择数组的第一个对象,以确定索引为零的元素,然后添加另一个类似于当前方法的 shift 转换,例如

    [
      {
        "operation": "shift",
        "spec": {
          "rootid": "&",
          "@ids[0]": "ids"
        }
      },
      {
        "operation": "shift",
        "spec": {
          "rootid": "&",
          "ids": {
            "@value": "@id"
          }
        }
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2017-04-09
      • 2022-07-06
      • 1970-01-01
      相关资源
      最近更新 更多