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

颠簸变换 - 替换所有匹配项

东门焕
2023-03-14

我正在尝试使用JOLT转换https://jolt-demo.appspot.com/.

我想将所有“大师”值替换为“7.11”。

输入:

{
  "build": [
    {
      "number": "7.11.13898",
      "branchName": "branch1"
    },
    {
      "number": "7.11.13896",
      "branchName": "branch2"
    },
    {
      "number": "7.11.13895",
      "branchName": "master"
    },
    {
      "number": "7.11.13900",
      "branchName": "master"
    }
  ]
}

期望输出:

{
      "build": [
        {
          "number": "7.11.13898",
          "branchName": "branch1"
        },
        {
          "number": "7.11.13896",
          "branchName": "branch2"
        },
        {
          "number": "7.11.13895",
          "branchName": "7.11"
        },
        {
          "number": "7.11.13900",
          "branchName": "7.11"
        }
      ]
    }

我似乎无法在不更改/更改数据结构的情况下进行转换或转换。当前方法:

[
  {
    "operation": "shift",
    "spec": {
      "build": {
        "*": {
          "number": "build[&1].number",
          "branchName": {
            "master": {
              "#7.11": "build[&3].branchName"
            },
            "*": {
              "@(2, branchName)": "build[&3].branchName"
            }
          }
        }
      }
    }
  }
]

电流输出:

 {
  "build" : [ {
    "number" : "7.11.13898"
  }, {
    "number" : "7.11.13896"
  }, {
    "branchName" : "7.11",
    "number" : "7.11.13895"
  } ]
}

共有1个答案

施永贞
2023-03-14

你几乎找到了。您需要将@(2,branchName)替换为$,它应该适合您。

“$”运算符表示使用输入键,而不是输入值作为输出。

解决方案:

[
  {
    "operation": "shift",
    "spec": {
      "build": {
        "*": {
          "number": "build[&1].number",
          "branchName": {
            "master": {
              "#7.11": "build[&3].branchName"
            },
            "*": {
              "$": "build[&3].branchName"
            }
          }
        }
      }
    }
  }
]
 类似资料:
  • 我正在尝试为下面的输入编写一个震动转换 - 预期产量为- 我的规格是- 规范没有按照预期的输出进行转换。我想学习如何在字符串解析器中使用属性。

  • 我有这个JSON作为输入: 我需要得到这样的输出: 我需要使用哪种规格? 多谢!

  • 我正在尝试转换以下JSON 用JOLT转换成更简单的东西: 我尝试了很多颠簸的代码,但我不知道如何完成最后一部分。我写了一些颠簸的转变: 但是我不知道如何做最后一部分来旋转name列。name列的值应该基于NAV值旋转。

  • 我需要Jolt转换的帮助。我有数组,由许多json对象组成。(https://jolt-demo.appspot.com/) Jolt需要进行哪些转换才能获得以下结果? 现在我有了下一个Jolt构造: 但以下结果不正确:

  • 我正在将两个对象数组转换为一个对象数组。在这样做的时候,根据项目的类型,我需要为每个项目分配一个id。并且,在将这些项放入单个数组之后,ID应该是串行的,按照它们最初出现在输入JSON中的顺序。它不是所有项目的单个itemId。它基于自己的类型。PFB输入和输出JSON示例。使用jolt-core[0.1.0]。请帮忙。 如上所述,hotId和coldId是输出中的新字段。但是,它会增加。

  • 我只想替换字符串中的单词,如果单词字符或单词前后没有连字符。 文本: 替换后的预期结果: 正则表达式: < li >正则表达式当前仅匹配第一个匹配项(< code>#后的按钮)。我需要做什么来匹配所有事件? < li >如何在Java中将< code>button替换为< code>text或任何其他单词? 我读过主题我能在Java regex中替换组吗?,但是我真的不明白如何为我的特殊情况使用示