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

使用JOLT基于atterbute拆分数组

许焕
2023-03-14

我正在尝试使用 JOLT 根据属性将数组拆分为多个数组。我已经尝试过 JOLT“移位”规范,但无法实现。

我已经查看了几个完成数组转换的链接,但是我找不到任何将数组拆分成多个数组的方法。

示例:根据属性“type”的值将以下数组转换为3个数组。

输入:

[
  {
    "name": "abc1",
    "address": "abcdef",
    "types": [
      "a",
      "b"
    ]
  },
  {
    "name": "abc2",
    "address": "abcdef2",
    "types": [
      "b",
      "c"
    ]
  },
  {
    "name": "abc3",
    "address": "abcdef3",
    "types": [
      "c"
    ]
  }
]

输出:

{
  "a": [
    {
      "name": "abc1",
      "address": "abcdef",
      "types": [
        "a",
        "b"
      ]
    }
  ],
  "b": [
    {
      "name": "abc1",
      "address": "abcdef",
      "types": [
        "a",
        "b"
      ]
    },
    {
      "name": "abc2",
      "address": "abcde2",
      "types": [
        "b",
        "c"
      ]
    }
  ],
  "c": [
    {
      "name": "abc2",
      "address": "abcde2",
      "types": [
        "b",
        "c"
      ]
    },
    {
      "name": "abc3",
      "address": "abcdef3",
      "types": [
        "c"
      ]
    }
  ]
}

共有1个答案

印成天
2023-03-14

这将产生所需的结果:

    < li >对于类型中的每个元素 < li >使用数组值(< code >
[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "types": {
          "*": {
            "*": {
              "@3": "&1"
            }
          }
        }
      }
    }
  }
]
 类似资料:
  • 我有一个像下面这样的DataFrame,标识符作为现有DateIndex顶部的列。 我的目标是为除id之外的每一列(a和B)创建一个新的子DataFrames,其中dateIndex作为单个索引,id(foo,bar)作为列名。预期产出如下所示:

  • 我需要使用jolt转换来执行以下JSON转换。 需要将输入Json中的“PID3”值拆分为输出Json中的键值对数组 输入JSON 输出数据杰明 --基于输入字符串的多个

  • 处理转换并为输入创建规范。输出是嵌套数组,但我期待扁平数组。2.需要拆分字符串并获得第一个元素。分裂函数似乎不起作用。 这方面的任何帮助都是很好的。

  • 我是 Perl 的新手,但根据我阅读的文档,看起来 Perl 中的 split 函数要求正则表达式模式而不是字符串分隔符作为第一个参数,但我发现使用 之类的东西仍然可以正确拆分字符串。 基于此,我尝试使用可变分隔符(例如。< code>print (split($var,$ string))[0] where < code > $ var = ' ' )并发现它不起作用。我做错了什么? 谢谢! 编

  • 我有一个数据帧如下所示: 如何根据性别的np值转换dataframe? 我想要原始数据帧df被拆分为df1(姓名,年龄,性别,高度,日期),它将具有性别的值(df的前3行)