使用 JOLT 进行 Shift 转换:动态提取多层级 JSON 数据到数组
本文介绍如何使用 JOLT 的移位转换,将 JSON 数据中位于未知国家的特定字段提取到一个阵列中。即使输入 JSON 的结构结构不固定,也可以通过简单的 JOLT 规范实现目标,确保输出始终为一个完整的数据传输。核心利用 JOLT 移位规范中的阵列语法,强制生成数据库结果,简化数据处理。动态导出多个 JSON数据到阵列的 JOLT 移位转换
JOLT(JSON 到 JSON 转换)是一种强大的 JSON 转换工具,可以用于整理、过滤和转换 JSON 数据。本文将重点介绍如何使用 JOLT 的移位操作,从具有动态组织结构的 JSON 数据描述中取出特定字段,把它们收集到一个数据库中。问题
我们假设有一个 JSON 输入,其结构可以存储包含的项清理,并且存储的深度是备份的。我们的目标是从这些请求的 item 对象中的 foo 对象中提取 nn 字段的值,并将它们收集到一个名为类型的地方
例如,考虑以下输入:{ quot;idquot;: 1, quot;itemquot;: [ { quot;idquot;: quot;1_1quot;, quot;fooquot;: { quot;idquot;: 1232, quot;nnquot;: quot;sdfsdquot; } } ]} 登录后复制
我们期望的输出是:{ quot;typequot;: [ quot;sdfsdquot; ]}登录后复制JOLT Shift规范
解决此问题的关键在于使用JOLT Shift操作符,并利用数据库语法[]来强制生成数据库结果。
以下是一个有效的 JOLT 规范:[ { quot;操作quot;: quot;shiftquot;, quot;specquot;: { quot;itemquot;: { quot;*quot;: { quot;itemquot;: { quot;*quot;: { quot;itemquot;: { quot;*quot;: { quot;fooquot;: { quot;nnquot;: quot;type[]quot; } } }, quot;fooquot;: { quot;nnquot;: quot;type[]quot; } } }, quot;fooquot;: { quot;nnquot;: quot;type[]quot; } } } } }]登录后复制
解释:"操作": "shift":指定要执行的操作是shift。"spec":定义了的规则。"item":匹配输入JSON中的item字段。"*":匹配 item 中的任何元素。 这允许我们遍历未知深度的请求项队列。"foo":匹配 item 中的 foo 对象。"nn":匹配 foo 对象中的 nn 字段。"type[]":将 nn 字段的值移动到输出 JSON 中名为 type 的队列中。 key 引用 [],它告诉 JOLT 默认生成一个队列,即使只有一个匹配项。
结果
假设我们有以下 JSON 输入:{ quot;idquot;: 1, quot;itemquot;: [ { quot;idquot;: quot;1_1quot;, quot;fooquot;: { quot;idquot;: 1232, quot;nnquot;: quot;sdfsdquot; } }, { quot;idquot;: quot;1_2quot;, quot;itemquot;: [ { quot;idquot;: quot;2_1quot;, quot;fooquot;: { quot;idquot;: 4567, quot;nnquot;: quot;dfsdsquot; } } ] } ]}登录后复制
使用上述 JOLT 规范,我们将得到输出以下:{ quot;typequot;: [ quot;sdfsdquot;, “dfsds”; ]}登录后复制
即使输入 JSON 中项写入的写入深度不同,JOLT 也能正确地提取所有 nn 字段的值并将它们放入磁盘类型中。上述注意事项 JOLT 规范假设 nn 字段始终位于 foo 对象中。如果则 nn 字段可能不存在,需要添加额外的逻辑来处理情况,例如使用默认操作符。JOLT 规范的复杂性关系到输入 JSON 结构的复杂性。对于更复杂的结构,可能需要更复杂的 JOLT 规范。总结
通过使用 JOLT 的移位操作符和复制语法,我们可以轻松地从具有动态结构的 JSON 数据中取出特定字段,把它们收集到数组中。这使得我们可以轻松地处理各种 JSON 数据,从而免去编写复杂的代码。
JOLT 规范提供了一种简洁有效的方法来处理未知的 JSON 数据数据,并保证输出始终为一个数据库,从而加快了后续的数据处理步骤。
以上就是使用 JOLT 进行 Shift 转换:动态提取多体系 JSON 数据到备份的详细内容,更多请关注乐哥常识网其他相关文章!