Json 从键值到嵌套数组的转换

Json transformation from key value to nested array

我试图将一个键值对映射到一个数组,使用 jolt 变换规范将每个值区分为一种类型

输入json

{
"testurl": "someurl",
"website": "someurl2"
}

试过这个规格

</p>

<pre><code>[
  {
    "operation": "shift",
    "spec": {
      "testurl": "Urls[].testurl",
      "website": "Urls[].website"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Urls": {
        "*": {
          "$": "Urls[&1].val"    
        }
      }
    }
  }
]

预期结果是这样的

{
        "Urls": [{
            "url": "someurl",
            "val": "testurl"
        }, {
            "url": "someurl2",
            "val": "website"

        }]
    }

是的,您可以将一组 Json 键值对转换为数组。

需要2班才能安全。

第 1 班将您要转换为数组的所有属性隔离开来。

第二班可以使用“*”匹配所有这些项目并将它们放置在一个数组中。

规格

[
  {
    "operation": "shift",
    "spec": {
      "testurl": "temp.testurl",
      "website": "temp.website"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "temp": {
        "*": {
          "$": "Urls[#2].val",
          "@": "Urls[#2].url"
        }
      }
    }
  }
]