java - 震动 : Need to split array and combine with other details

标签 java arrays json jolt

我正在尝试使用 JOLT 进行 JSON 转换。 但我陷入了分割 JSON 数组并附加其他详细信息的位置 如当前输出中所示,我能够提取第 0 个值并附加详细信息,但如何提取下一个元素并附加 OfferId。

输入 JSON

{
  "count": 100,
  "data": [
    {
      "offerDetails": {
        "offerId": "1234"
      },
      "merchantDetails": {
        "merchantName": "merchantName",
        "merchantLocations": [
          {
            "merchantAddress": "merchantAddress1"
          },
          {
            "merchantAddress": "merchantAddress2"
          }
        ]
      }
    }
  ]
}

以下是我尝试过的规范

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "*": {
          "offerDetails": {
            "offerId": "offerId"
          },
          "merchantDetails": {
            "merchantLocations": {
              "0": {
                "merchantAddress": "merchant.name"
              }
            }
          }
        }
      }
    }
      }
]

电流输出

{
  "offerId" : "1234",
  "merchant" : {
    "name" : "merchantAddress1"
  }
}

期望的输出

[{
        "offerId": "1234",
        "merchant": {
            "name": "merchantAddress1"
        }
    },
    {
        "offerId": "1234",
        "merchant": {
            "name": "merchantAddress2"
        }
    }
]

最佳答案

这会有所帮助,

遍历merchantLocations获取商家名称,并从merchantLocations向后移动直到offerId

[
  {
    "operation": "shift",
    "spec": {
      "data": {
        "*": {
          "merchantDetails": {
            "merchantLocations": {
              "*": {
                "@(3,offerDetails.offerId)": "[].offerId",
                "merchantAddress": "[&1].merchant.name"
              }
            }
          }
        }
      }
    }
  }
]

关于java - 震动 : Need to split array and combine with other details,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61676420/

相关文章:

android - 用gson拯救模型的公共(public)结构

regex - 在 PostgreSQL 中使用子字符串获取 JSON 值

java - 构建如何使用 Maven 自动与 Eclipse 一起工作

java - 如何在eclipse中生成java项目的可执行文件

java - 有没有办法从处理程序中删除匿名 Runnable?

arrays - 如何使用百分比表示法在 ruby​​ 中制作整数数组?

java - 包含 "https://"时 DeepLink 无法打开

javascript - 将可迭代元素或不可迭代元素扩展为数组而不检查元素 .length

c - 通过字符串的结构引用

javascript - JSON 数组 - 显示数据所需的帮助