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

Jolt列表转换

松国兴
2023-03-14

我正在尝试使用 jolt 转换 JSON,而无需添加新项目以及从键值中删除空格。此外,我想知道如何映射到当前列表。

输入:

[
  {
    "id": "9164339966213408050",
    "actualEndDate": "2022-08-15T14:47:09+03:00",
    "extendedChars": [
      {
        "Total BYOP Tier": {
          "values": [
            {
              "value": "60"
            }
          ],
          "name": "Total BYOP Tier",
          "isMultiple": false,
          "tomsId": "9162933742365468326"
        }
      }
    ],
    "chars": {
      "Total BYOP Tier": "60"
    }
  },
  {
    "id": "9164339966213408051",
    "actualEndDate": "2022-08-15T14:47:09+03:00",
    "extendedChars": [
      {
        "Total BYOP Tier": {
          "values": [
            {
              "value": "60"
            }
          ],
          "name": "Total BYOP Tier",
          "isMultiple": false,
          "tomsId": "9162933742365468325"
        }
      }
    ],
    "chars": {
      "Total BYOP Tier": "60"
    }
  }
]

预期产出:

[
  {
    "id": "9164339966213408050",
    "actualEndDate": "2022-08-15T14:47:09+03:00",
    "extendedChars": [
      {
        "values": [
          {
            "value": "60"
          }
        ],
        "name": "Total BYOP Tier",
        "isMultiple": false,
        "tomsId": "9162933742365468326",
        "TotalBYOPTier": {
          "values": [
            {
              "value": "60"
            }
          ],
          "name": "Total BYOP Tier",
          "isMultiple": false,
          "tomsId": "9162933742365468326"
        }
      }
    ],
    "chars": {
      "TotalBYOPTier": "60"
    }
  },
  {
    "id": "9164339966213408051",
    "actualEndDate": "2022-08-15T14:47:09+03:00",
    "extendedChars": [
      {
        "values": [
          {
            "value": "60"
          }
        ],
        "name": "Total BYOP Tier",
        "isMultiple": false,
        "tomsId": "9162933742365468325",
        "TotalBYOPTier": {
          "values": [
            {
              "value": "60"
            }
          ],
          "name": "Total BYOP Tier",
          "isMultiple": false,
          "tomsId": "9162933742365468325"
        }
      }
    ],
    "chars": {
      "TotalBYOPTier": "60"
    }
  }
]

规格已尝试:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@": "CustomerProductArray"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "CustomerProductArray": {
        "*": {
          "extendedChars": {
            "*": {
              "* * *": "CustomerProductArray.&(0,1)&(0,2)&(0,3)",
              "*": {
                "name": "CustomerProductArray[].extendedChars[]..name",
                "isMultiple": "CustomerProductArray[].extendedChars[].isMultiple",
                "tomsId": "CustomerProductArray[].extendedChars[].tomsId",
                "values": "CustomerProductArray[].extendedChars[].values"
              }
            }
          },
          "chars": {
            "* * *": "CustomerProductArray[].chars.&(0,1)&(0,2)&(0,3)"
          }
        }
      }
    }
  }
]

共有1个答案

越伯寅
2023-03-14

当您想要复制嵌套在对象内外的Total BYOP Tier数组的内容时,请使用以下规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "&1.&",
        "extendedChars": {
          "*": {
            "Total BYOP Tier": {
              "*": {
                "@": "&5.&4[&3].&" // &5 : (going up the tree five levels) replicates the index of the outermost array, &4[&3] : stands for "extendedChars"(&4) along strolling through with its indexes([&3])
              },
              "@": "&4.&3[&2].&1"
            }
          }
        }
      }
    }
  },
  {
   // get rid of object labels
    "operation": "shift",
    "spec": {
      "*": ""
    }
  }
]

http://jolt-demo.appspot.com/网站上的演示是

 类似资料:
  • 我需要使用jolt转换来完成下面的JSON转换。 需要从重新定义列的列表中创建新列,有时我们只有一个值,有时我们会得到多个值我的输入数据:- 示例 1: 示例2: 例3: 我已经写了如下的颠簸表达 使用上述 Jolt 表达式工作正常,但无法为上述 Jolt 添加列名输出如下 示例 1: 示例2: 在这里,我无法更改列的名称,因为我需要将列更改为如下所示:jolt转换后的预期输出如下所示 示例 1:

  • 我想转换这个JSON: 对此JSON: 我目前正在使用该规范,但它不适合我: 有人能给出一个规范吗?有没有关于jolt JSON的明确文档 ................................................................................................................................

  • 从嵌套列表中提取数据的Jolt规范是什么

  • 我目前有点卡住了,我需要使用JOLT转换JSON,但就我而言,我无法获得与我一起工作的数据/结构。 我有以下需要转换的数据集: 预期的结果应该是这样的: 我可能在我想要的结果中犯了一个错误,但基本上,“riskItemAllRisk”部分需要在一个数组中。 我正在进行的JOLT转换是: 为可怕的代码道歉,但这对我来说是第一次。 谢谢。

  • 我正在尝试使用Jolt进行从顶级json数组到另一个数组的复杂转换。在每个项目中,我都有几个需要映射到另一个的对象。当它是简单的字符串时,我可以很容易地映射它们,但当它是关于对象到对象的时,我无法找到如何进行映射。在下面的示例中,我想从客户对象中提取数据。我想为其他几个人做这件事,比如地址和order_items这是我的输入: 这是规格文件 目前,我的输出是 我希望这样: 有人知道怎么做吗? 更新

  • 我想转换我的嵌套json消息,并使用Jolt规范只获取必需的文件- 我的输入JSON: 低于我的规格输出,这不是预期的- 我尝试了很多选择,但国籍不是我预期的输出。请在这里帮助颠簸转换