数据编织转换

2024-04-28

我有 POST 方法的以下有效负载的输入:

{
  "order": {
    "Column_X": "X",
    "Column_Y": "Y",
    "Column_Z": "Z",
    "Column_W" : {
      "div_1": "some text",
      "div_2": true,
      "div_3": 2
    }
  },
  "mapper": {
    "A": "<order.Column_X>",
    "B": "<order.Column_Z>",
    "C": "Fields or text not mapped to order",
    "C1": "status",
    "D": {
      "D1": "<order.Column_W.div_1>",
      "D2": "<order.Column_W.div_2>",
      "D3": "<order.Column_W.div_3>",
      "D4": "<order.Column_W.div_4>"
    }
  }
}

这是与上面的订单对象的预期输出映射:

{
   "A":"X",
   "B":"Z",
   "C":"Fields or text not mapped to order",
   "C1":"status",
   "D":{
      "D1":"some text",
      "D2":true,
      "D3":2,
      "D4":null
   }
}

我将如何解决这个问题?


要使其完全动态化,您需要做两件事。

  1. 可以从动态路径获取值的函数
  2. 使用递归来构建有效负载,因为映射器本身可以包含更多映射器对象。
%dw 2.0
output application/json

fun isPath(value) = (value is String) and (value matches "<.+>")

fun getFromPath(json, pathString) = 
    pathString splitBy '.'
        reduce ((path, valueAtPath = json) -> valueAtPath[path])

fun buildUsingMapper(mapper, mappingValues) = 
mapper mapObject ((value, key) -> {
    (key): if(isPath(value)) mappingValues getFromPath value[1 to -2] // eliminate the first "<" and the ending ">". 
            else if(value is Object) buildUsingMapper(value, mappingValues)
            else value
})
---
buildUsingMapper(payload.mapper, payload - "mapper") // you can also pass the full payload instead of payload - "mapper". I did it here to show that the second parameter does not necessarily need the mapper object within.

我假设没有数组包含这些动态路径mapper,或者动态路径将包括动态访问数组元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据编织转换 的相关文章

  • ESB 中有效负载的验证

    我有一个 HTTP POST REQUEST 它发送如下有效负载 键1 值1 键2 值2 键3 值3 我能够验证所有值 但每次都必须使用一个组件 在本例中 我使用了验证器 非空字符串 3 次 1 Is there any way that
  • Mule CXF 马歇尔响应

    我在 Mule 3 中使用 cxf jaxws client 并且从 Web 服务调用中获得的响应属于 ReleasingInputStream 类型 我尝试添加 http response to message transformer 但
  • Mule 流程:如何从 XML 文件中删除 BOM 标记

    我已经为 Mule 流程输入了复杂的大型 XML 文件 文件结束点 gt 字节数组到字符串 gt 分割器 gt 我有org xml sax SAXParseException 序言中不允许有内容当我尝试使用 Splitter 组件处理输入文
  • 在交叉验证中对训练数据执行数据转换

    我想做 5 倍的交叉验证 在每个折叠中 我都有一个训练集和有效集 但是 由于数据问题 我需要转换我的数据 首先 我转换训练数据 训练模型 将转换规则应用于验证数据 然后测试模型 我需要为每个折叠重做转换 我该如何在 H2O 中做到这一点 我
  • 是什么导致了这个 Maven/JBehave 错误?

    我有一个生成 Mule 连接器的 Maven 项目 它基本上是一个 shell 因此我开始使用 JBehave 添加一些 BDD 测试 我添加的第一个测试作用很小 public class FakeSteps extends Embedde
  • 单应性估计 -> 结果是仿射矩阵?

    我正在开发一个基于平面标记的姿态估计系统 使用 Matlab 为了做到这一点 我检测网络摄像头捕获的图像中的一个矩形 获取 4 个角点的坐标 并计算这些角点之间齐次坐标的单应性 例如 58 46 75 90 M 67 108 133 89
  • Mule ESB 中的重连策略

    我正在尝试验证文档中提到的 Mule ESB 中的重新连接策略 我已将标准重新连接策略设置为重试次数为 5 次并设置一些超时 我的终点无法到达 因为故意停止它来测试场景 我在 Mule 控制台中有一个例外 异常堆栈是 1 连接被拒绝 con
  • 为什么 mule json 到 xml 转换器只获取第一个元素?

    我正在尝试使用 json to xml transformer 将 json 消息转换为 xml 但无法找到有关其使用的文档 我不需要对数据进行任何转换 只需将 json 属性转换为 xml 标签即可 当我尝试使用转换器时 我得到的只是 j
  • Mule http:outbound-endpoint + multipart/form-data

    我正在尝试调用一个期望接收多部分 表单数据的休息服务 但我遇到了一些问题 经过一段时间的搜索 我了解到我必须将有效负载移动到出站附件并将有效负载设置为空
  • 带变换的 R lm() 公式的格式

    我不太清楚如何在一行中执行以下操作 data attenu x temp attenu accel 1 4 y temp log attenu dist best line lm y temp x temp 由于上述工作有效 我认为我可以执
  • D3.js v4 - 如何添加具有默认滚轮鼠标缩放行为的缩放按钮

    这个问题涵盖了与已经提出和回答的主题完全相同的主题 D3 js 如何添加具有默认滚轮缩放行为的缩放按钮 https stackoverflow com questions 25333309 d3 js how to add zoom but
  • 在 apache Spark 中替换 groupByKey 的方法

    我想知道更换的最佳方法按键分组与另一个操作 基本上我想获得一个RDD int 列表 测量 我的情况 consider measures like RDD of objects measures keyBy getId groupByKey
  • 是否可以直接将仿射变换矩阵应用于 Mayavi ImageActor 对象?

    我在用着Mayavi渲染一些由 3D 体积内的多个 2D 平面组成的成像数据 其位置 方向和比例由 4x4 刚体仿射变换矩阵定义 每架飞机包括 二维图像数据数组 我使用它来显示mayavi mlab imshow 由我绘制的线和点组成的一组
  • 通过 Mule 4 发送电子邮件时将 JSON 数组转换为表结构格式

    我需要以表格格式发送错误报告 该报告需要作为电子邮件正文发送 我正在将错误报告构建为 JSON 数组 并且需要进行 HTML 转换以将其构造为表格格式 下面是 JSON 数组和作为电子邮件正文的预期结果 templateID 72 hous
  • 滚动时的 CSS3 变换

    有谁知道一个好的教程可以实现这一目标 如下所示 http www contrastrebellion com http www contrastrebellion com 我查看了该网站上使用的代码 发现提取我需要的内容很困难 非常感激 谢
  • mule-standalone-3.3.1 无法在 Windows 7 上启动

    在 Windows 7 中启动 mule 服务器时遇到以下问题 我已经设定JAVA HOME and MULE HOME适当地 MULE HOME is set to C BAM Linux fresh mule standalone 3
  • 配置 Mule JPA 模块以使用 Eclipse Link 和 MySQL

    我正在尝试编写一个 Mule ESB 应用程序 它将 XML 文件读入域对象 然后使用 JPA 将该对象写入 MySQL 数据库 我已经弄清楚了大部分所需的配置 但我遇到了一个问题 其中 Mule JPA 模块 https github c
  • R:使用字典/列表转换数据框列?

    我有一个包含大量文本值 级别 的数据框列 我需要将这些值映射到预定义的类似对象的结构 以减少级别数 我可以在 Python 中使用字典轻松实现此目的 但无法使用 R 中的列表实现同样的目的 例如 我的数据框列类似于 df lt data f
  • 如何在 Mulesoft 中将睡眠设置为流程而不丢失消息负载

    我想插入脚本来延迟 Mulesoft 中的处理流程 我尝试在 groovy 中插入脚本 但丢失了消息有效负载 因此当我必须获取消息有效负载时 收到了空指针 我怎样才能不丢失消息有效负载 Thanks 如果您正在使用Groovy流程中的组件
  • 使用 scikit-image 和 Transform.PolynomialTransform 进行图像变形

    我附上一个压缩档案 https drive google com file d 0B6EnJ Vh6zs1MkVCRlNhZkJsOEk view usp sharing包含说明和重现问题所需的所有文件 我还没有上传图片的权限 我有一个带有

随机推荐

  • 无法通过 phantomjs 网络服务器传送图像文件

    我正在尝试让 phantomjs 网络服务器为我工作 我想提供 2 个文件 html 文件和 png 图像文件 html 文件服务良好并在浏览器中正确呈现 但 png 文件不是 这是服务器的代码 var fs require fs func
  • 使用 CORS 进行 React 中的 Fetch 时出现问题

    我对 CORS 完全陌生 并且遇到以下问题 我正在使用 create react app 端口 3000 调用 spring boot 端口 8080 中创建的一些 REST 服务 我将 JWT 身份验证添加到我的 REST API 中 因
  • 如何根据本地目录中的requirements.txt 文件使用pip 安装软件包?

    问题是这样的 我有一个要求 txt文件看起来像 BeautifulSoup 3 2 0 Django 1 3 Fabric 1 2 0 Jinja2 2 5 5 PyYAML 3 09 Pygments 1 4 SQLAlchemy 0 7
  • mongodb 聚合随机化(shuffle)结果

    我正在浏览一堆 mongo 文档 但找不到洗牌或随机化结果内容的可能性 有没有 特别是对于聚合框架本身来说 实际上并没有任何本地方法 因为还没有可用的运算符来执行诸如生成随机数之类的操作 因此 无论您可能投射一个字段进行排序的任何匹配 都不
  • 打开和关闭 RDP 窗口

    我有很多服务器 我想检查是否可以使用 RDP 连接到它们 我有 2000 台服务器 所以我想实现自动化 我对 PowerShell 不太熟悉 以下是我所掌握的 列表 txt ip1 ip2 ip3 ipn 这是我的代码 我在每个 ip 上循
  • 解决 emacs 错误的想法:“应用:生成子进程:exec 格式错误”

    我正在尝试将 rdebug 与 emacs 和 cygwin 一起使用 但遇到了麻烦 每当我执行 M x rdebug 并为其提供适当的脚本来运行时 它都会因错误而停止 apply Spawning child process exec f
  • 是否可以在 Cython 中声明和定义位字段?

    在 C C 中你可以声明一个位域 https en cppreference com w cpp language bit field作为结构体 通过指定用于结构体中给定字段的位数 例如 typedef struct char threeB
  • 如何在 ActionBar Sherlock 中使用滑动菜单?

    我正在尝试在使用操作栏 Sherlock 的现有项目中使用滑动菜单 但我无法做到这一点 如果您能给我一个简单的演示或教程来向我展示如何做到这一点 那就太好了 我们必须使用片段来实现滑动菜单吗 Update 当用户单击滑动菜单列表中的某个项目
  • 检查 ARReferenceImage 是否在相机视图中不再可见

    我想检查一下是否AR参考图像 https developer apple com documentation arkit arreferenceimage在相机视图中不再可见 目前我可以检查图像的节点是否在相机的视图中 但是当AR参考图像
  • 将 NSSet 转换为 Swift 数组

    在 CoreData 中我定义了一个无序的一对多关系 这种关系在 Swift 中定义如下 NSManaged var types NSMutableSet 然而 为了最好地使用 Swift 我想使用一个普通的 Swift 数组 比如Type
  • Grails 中数据库迁移的良好工作流程是什么?

    我想使用数据库迁移 http grails org plugin database migration用于数据库迁移的 grails 插件 当我第一次启动 Grails 应用程序时 所有数据库表都会自动创建 我的 DataSource gr
  • Visual Studio 2015 折叠所有快捷方式

    I have gone thru http visualstudioshortcuts com 2015 http visualstudioshortcuts com 2015 this link and Keyboard shortcut
  • gcc何时编译未使用的模板代码?

    我有以下 诚然是人为的 代码 可以在 gcc 6 中编译得很好 但不能在 gcc 7 中编译 请注意 在定义中使用了未声明的构造函数bar 如果函数在代码中的其他地方被引用 取消注释 这应该打印一个错误foo bar 导致 gcc 6 打印
  • Cakephp 图像 - 无法确定 mimetype

    蛋糕PHP 2 3 我正在上传图像 但出现错误 Can not determine the mimetype Error An Internal Error Has Occurred 在我的模型上 这是我的 validation 的一部分
  • 使用 Silverlight 在运行时在 tabcontrol 中添加 TabItem

    嗨朋友们 我是 silverlight 应用程序的新手 我创建了带有 4 个 tabitem 的 tabcontrol tabitem 的名称类似于 tab1 tab2 tab3 tab4 我需要在运行项目中添加一个选项 通过以下代码添加成
  • 字符串文字的行为令人困惑

    下面的代码中字符串文字的行为非常令人困惑 我可以理解第 1 行 第 2 行和第 3 行是true 但为什么是第 4 行false 当我打印两者的哈希码时 它们是相同的 class Hello public static void main
  • 使用 JavaScript 访问 Jekyll 变量并通过 DOM 操作传递它

    我很可能有错误逻辑 但我刚刚学习 JavaScript 和 Jekyll 我的目标是通过 JavaScript 操作 HTML 元素 并将一些 Jekyll 变量放置在该元素的内部 HTML 中 一切都从本地开发目录加载jekyll ser
  • 如何使用 DLL 来模拟静态库的“应用程序内全局变量的多个实例”行为?

    我们有一个用 C C 编写的应用程序 它被分解为单个 EXE 和多个 DLL 这些 DLL 中的每一个都使用相同的静态库 utilities lib 实用程序静态库中的任何全局变量实际上在应用程序内运行时都会有多个实例 每个模块 即 DLL
  • STM32:从自定义引导加载程序跳转到应用程序时发生硬故障

    我正在开发带有自定义引导加载程序和应用程序的 STM32F401 MCU 编译器是GCC 5 2 1 没有运行优化 在以下跳转序列后的第一次中断后 我遇到了硬故障 引导加载程序 gt 应用程序 gt 引导加载程序 gt 应用程序 从引导加载
  • 数据编织转换

    我有 POST 方法的以下有效负载的输入 order Column X X Column Y Y Column Z Z Column W div 1 some text div 2 true div 3 2 mapper A