如何使用Jolt将此嵌套数据转换为下面提到的线性格式数据.需要为所有嵌套数据创建单独的条目.每条记录中都应该有5个数据,分别是Practice_loc、Prac_num、topID、s1和s2.

data

[
  {
    "practice_loc": "120",
    "prac_num": "234",
    "topId": "t1",
    "subList": [
      {
        "S1": "A1",
        "S2": "B1"
      },
      {
        "S1": "A2",
        "S2": ""
      }
    ]
  },
  {
    "practice_loc": "334",
    "prac_num": "233",
    "topId": "plumcherry",
    "subList": [
      {
        "SubID1": "A3",
        "SubID2": ""
      }
    ]
  },
  {
    "practice_loc": "987",
    "prac_num": "232",
    "topId": "artica",
    "subList": [
      {
        "SubID1": "A5",
        "SubID2": "B7"
      }
    ]
  }
]

Expected Data个 我试过了,但没起作用,结果为空,请帮帮忙

[
  {
    "practice_loc": "120",
    "prac_num": "234",
    "topId": "t1",
    "S1": "A1",
    "S2": "B1"
  },
  {
    "practice_loc": "120",
    "prac_num": "234",
    "topId": "t1",
    "S1": "A2",
    "S2": ""
  },
  {
    "practice_loc": "334",
    "prac_num": "233",
    "topId": "plumcherry",
    "SubID1": "A3",
    "SubID2": ""
  },
  {
    "practice_loc": "987",
    "prac_num": "232",
    "topId": "artica",
    "SubID1": "A5",
    "SubID2": "B7"
  }
]

推荐答案

您可以动态地将结果作为

[
  { // group elements by upper level objects wrapper nodes
    "operation": "shift",
    "spec": {
      "*": {
        "subList": {
          "*": {
            "@2|@": "&3_&1"
          }
        }
      }
    }
  },
  { // get rid of the wrappers
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "*": "[#3].&"
        }
      }
    }
  },
  { // get rid of the extra generated array, namely "subList"
    "operation": "remove",
    "spec": {
      "*": {
        "subList": ""
      }
    }
  }
]

Json相关问答推荐

JOLT转换过滤出特定值/对象

从先前的REST调用创建动态JSON主体

在ConvertFrom-Json之后需要从PowerShell对象中获取数据

PowerShell:使用JSON原生的Short命令处理JSON?

(Kotlin)com.google.gson.internal.LinkedTreeMap无法转换为com.example.phonetest2.model.HallData

PostgreSQL:删除 JSONB 数组中每个元素的特定键

jq json - 按键名 Select

Shell脚本空格转义

如何从 json 中获取单个元素?

Serde JSON 反序列化枚举

以 JSON 格式访问(新型、公共)Google 工作表

如何使用 Kotlin + Jackson 将 JSON 反序列化为 List

在 Apache Spark 中读取多行 JSON

使用 JSON 的 javascript 深拷贝

IE中Json响应下载(7~10)

直接从 Java 中的模型类创建 JSON 对象

将 JSON 对象推送到 localStorage 中的数组

强制 JSON.NET 在序列化 DateTime 时包含毫秒(即使 ms 组件为零)

如何对 jq 中的 map 数组中的值求和?

使用 jQuery 和 JSON 填充表单?