如何使用 JSONata 将嵌套对象展平为单深度对象?

2024-03-28

我是 JSONata 新手,在创建展平函数时遇到一些麻烦。

我想把这个输入:

{
        "user": {
        "key_value_map": {
            "CreatedDate": "123424",
            "Department": {
                "Name": "XYZ"
            }
        }
    }
}

进入这个:

{
    "user.key_value_map.CreatedDate": "123424",
    "user.key_value_map.Department.Name": "XYZ"
}

谁能帮我?在这里和谷歌上搜索,找不到能引导我走向正确方向的东西。

Thanks


(
    $fn := function($o, $prefix) { 
        $each($o, function($v, $k) {(
            $name := $join([$prefix,$k], '.');
            $type($v) = 'object' ? $fn($v, $name): {
                $name: $v
            }
        )}) ~> $merge()
    };
    $fn($)
)

https://try.jsonata.org/WCUxC-r4_ https://try.jsonata.org/WCUxC-r4_

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

如何使用 JSONata 将嵌套对象展平为单深度对象? 的相关文章

  • GitHub 文件夹上有一个白色箭头

    我最近推送到 github 并在我的一个文件夹上看到一个白色箭头 当我单击该文件夹时 它不会打开它 在我的本地计算机上 它有内容 但在 github 中我无法访问它们 这是什么意思 Symptom 检查本地是否有 git 该文件夹下的子文件
  • 在控制台中动态更改字体

    是否有合适的插件或类来更改公共输出控制台中的字体大小 字体类型和装饰 您可以通过进入首选项来更改终端的字体 但这不是我在这里寻找的 我希望能够从代码内动态更改字体 Ruby 或一些终端命令中有什么可以做到这一点 我使用 Mac OS X A
  • 自动保存对 Chrome 开发工具中现有样式所做的 CSS 更改?

    我已经将必要的文件映射到本地资源 但是 虽然这确实允许我保存对 源 面板中的文件所做的任何更改 但我想知道是否可以自动保存对 元素 面板中对 CSS 所做的更改 否则 目前 对 元素 面板中的样式所做的任何更改似乎只存在于此处 我记得在某个
  • 如何创建自定义文本转语音引擎

    据我所知 TTS 需要 TTS 引擎才能说一种语言 在 Android 模拟器 2 2 中 默认使用 Pico TTS 引擎 它只有一些流行语言 我在市场上看到一些引擎必须购买才能安装 我的问题 有没有办法创建支持其他语言的自定义引擎 通过
  • 如何使 Application.Properties.Settings 公开并保持这种状态

    我正在将我的应用程序设置集中到一个位置 并且我选择使用公共库中的设置集合来执行此操作 我已将所有这些设置移至它们自己的文件中 该文件使用配置源拉入我的 app config 中
  • 如何自动递增 varchar?

    我可以在一张表中为供应商 s0001 s0002 创建一个主键 例如 c0001 c0002 吗 数据库设计的思想是保持每个数据元素独立 每个元素都有自己的数据类型 约束和规则 那c0002不是一个字段 而是两个字段 与相同XXXnnn管他
  • ASP.NET 应用程序中的实体框架 ObjectContext 单元测试

    我使用以下代码为每个 ASP NET 请求创建实体框架 ObjectContext public static class ObjectContextPerRequest public static EStudyTestDatabaseEn
  • 如何使用 MVVM 模式“禁用”WPF 中的按钮?

    我正在尝试掌握 WPF 和 MVVM 并取得了良好的进展 WPF 和 MVVM 方面进展顺利 然而 XAML 和数据绑定方面则完全是另一回事了 我将如何 禁用 按钮 例如 我的视图模型中有一个 CanClose 属性 用于确定当前是否可以关
  • SwiftUI:无法将“Bool”类型的值转换为预期的参数类型“Binding

    为 SwiftUI 创建基于文本的游戏 想知道为什么我无法在字符 ForEach 循环中访问 isSelected 它给出了错误 无法将类型 Bool 的值转换为预期参数类型 Binding 在线上Toggle isOn character
  • 为什么 const_cast 会删除指针的常量性,但不会删除指向 const 的指针?

    我明白那个const cast使用指针和引用 我假设输入const cast应该是一个指针或引用 我想知道为什么如果输入是指针 引用 它不会消除常量性const int 以下代码按预期工作 const cast具有多级指针 int main
  • 如何删除自动完成上的清除按钮并仅显示文本

    我是反应虚拟化和自动完成的新手 我目前已经构建了一个列表 当选中该复选框时 该列表会显示多个文本 这是我的代码 https codesandbox io s material demo forked 1qzd3 file demo tsx
  • Django:限制模型数据

    我正在以一种限制可以通过模型获得的查询集的方式进行搜索 假设我有以下模型 具有依赖项 Company Section Employee Task more models Customer Contract Accounts other gr
  • 使用 dict.values() 或 dict.itervalues() 迭代时修改字典值

    我有一个像这样初始化的字典 tab Mike 0 Chad 15 Taylor 2 我希望能够将整数添加到字典中的每个值 例如 添加 5 后 字典应如下所示 Mike 5 Chad 20 Taylor 7 似乎这可以通过几行代码来完成 但我
  • mvc视图中模型空引用异常

    问题是从控制器传递数据到视图时出现空引用异常 我将模型从控制器传递到视图 如下所示 ViewBag PartId id var viewmodel new Orderviewmodelnew var order new OrderMnage
  • 扩展 APDU 和 T=0/1 通信协议

    我有一个 JCOP V2 4 2 R3 java 卡 它的数据表中提到 该卡支持T 1 and T 0通信协议 我还有一个 ACR38 智能卡读卡器 它支持 T 0 和 T 1 协议 我与一张卡成功进行了 T 0 通信 并且与该卡成功进行了
  • C# 中的 StreamReader 和缓冲区

    我对 StreamReader 的缓冲区使用有疑问 这里 http msdn microsoft com en us library system io streamreader aspx http msdn microsoft com e
  • 如何让 Polymer 2.0 ES5 元素与 v1 规范一起工作?

    我已经成功构建了许多 Polymer 2 0 元素 它们在支持 ES6 的浏览器中运行良好 当我尝试将它们转换为 ES5 时 浏览器会抛出一堆错误 如下所示 Failed to construct HTMLElement Please us
  • 哪些 Web 浏览器支持通过 HTML5 进行地理定位?

    哪些网络浏览器 和版本 支持通过 HTML5 进行地理定位 在桌面上仅支持 Firefox 不确定 Opera 是否已将其包含在官方版本中 在移动设备上 mobile safari 3 和 android 2 x 浏览器 有关支持的更多信息

随机推荐

  • 使用 python 以字节块的形式读取文件

    我正在尝试将包含超过 10 亿字节的文件转换为整数 显然 我的机器无法立即执行此操作 因此我需要对代码进行分块 我能够解码前 50 000 000 个字节 但我想知道如何读取文件中介于 50 000 001 和 100 000 000 15
  • 如何获取SQL组查询的第一行?

    我在编写查询时遇到问题 我想选择分组的每组行的第一行 我的桌子是Transactions userID Date StoreID 1 8 9 2013 10 1 9 9 2013 10 1 10 9 2013 20 2 7 9 2013 3
  • 使用 pyvips 连接多个巨大图像

    我试图弄清楚如何通过 python 将多个图像与 vip 结合起来 我在一个文件夹中有 30 个 但可以超过 600 个 条纹 png 文件 它们的分辨率为 854x289920 所有分辨率都相同 如果我尝试使用 MemmoryError
  • Apache POI autoSizeColumn() 无法正常工作[重复]

    这个问题在这里已经有答案了 我正在创建一个程序 使用 apache poi 将信息写入 Excel 文件 将所有数据输入文件后 我对文件的每一列调用 autoSizeColumn 方法 但它会将列的大小调整为最后输入的单元格的宽度 该宽度有
  • LNK1106 具有大量二进制资源

    我的项目中有一个相当大的 dat 文件 896MB 作为 BIN 资源 现在我收到 LNK1106 链接错误 致命错误 LNK1106 无效文件或磁盘已满 无法查找 0x382A3920 我在 Windows XP 下使用 Visual S
  • 用于非图像矩阵的 Keras CNN

    我最近开始学习深度学习和强化学习 我试图弄清楚如何使用 Keras 为 10 行 3 列的 0 和 1 矩阵编写卷积神经网络 例如 输入矩阵看起来像这样 1 0 0 0 1 0 0 0 0 输出应该是另一个由 0 和 1 组成的矩阵 与前面
  • React Native 导航 v5 选项卡按下不起作用

    从代码中可以看出 tabPress 没有被调用 是我做错了还是我遗漏了一些东西 不幸的是我没有找到任何 React 导航版本 5 的代码示例
  • Angular 材质创建类似于引导警报的警报

    我是有角材料的新手 我正在尝试实现警报以使用角度材料显示消息 这与引导警报即类似 div class alert alert success strong Well done strong You successfully read thi
  • 如何在nodejs中验证rabbitmq?

    错误 握手被服务器终止 403 ACCESS REFUSED 消息 ACCESS REFUSED 使用身份验证拒绝登录 旋转机制平原 有关详细信息 请参阅代理日志文件 我单独尝试了 authMechanism PLAIN AMQPLAIN
  • 后台线程c++中的grpc服务器

    我正在尝试在 MFC 应用程序的线程中运行 grpc 服务器 我有 直接来自 GRPC 示例的 grpc 部分 MyAppDlg h include
  • 将项目绑定到 ListBox 的多列中

    我正在尝试将数据添加到多列列表框中 我做到了 但在尝试从列表框中检索数据时遇到了难题 有没有办法将对象而不是文本放入列表框行中
  • Qt 错误:无法打开输出文件调试

    今天我在调试你的程序时 突然因为停电 我的电脑异常关机 现在 当我编译该程序时 它给了我两个错误 1 error cannot open output file debug Myprogram exe Invalid argument 1
  • 艰难地学习 Python:练习 46

    我在设置项目框架时遇到问题 因为现在指南要求我仅使用 Linux 命令 而我使用的是 Windows 整个指南直到该项目与 Windows 没有兼容性问题 直到练习 46 中的一行代码为止 我能够做到这一点 mkdir p projects
  • 如何在Play Framework中手动抛出错误页面?

    如何手动抛出404 or 500Play 框架 1 2 x 中出现错误 我目前正在渲染404 html and 500 html模板使用renderTemplate 方法 但我该如何以正确的方式做到这一点呢 Play Controller
  • Eclipse CDT 索引器是否仅限于源和标头的常见文件类型?

    我正在开发一个涉及 TOM 文件 t 扩展名 的项目 这些文件被编译成 c 文件 现在 我已经告诉我的 Eclipse 将它们视为 C 源文件 但 CDT 索引器似乎不想触及它们 是否可以告诉它考虑其他文件类型 注意 TOM 文件看起来就像
  • 绘制两个不同长度的列表

    我有两个价格不同的清单 第一个列表是 2008 2018 年 第二个列表是 2010 2018 年 如果 X 轴为 2008 年至 2018 年 第二个列表从 2010 年开始 我如何绘制它们 我有以下作为简短代码的示例 from matp
  • 如何在 Spring MVC (JPA) 中将实体对象列表转换为页面对象?

    我有一个List的实体 我如何将其转换为Page使用 Spring MVC 4 和 Spring Data JPA 的对象 有一个Page执行 http docs spring io spring data commons docs cur
  • 导航控制器后退按钮可转到上一屏幕之前的屏幕

    我想知道是否可以使用导航控制器按钮返回到上一页 现在 我已经使用此代码定制了按钮 self navigationItem leftBarButtonItem UIBarButtonItem alloc initWithTitle mainL
  • 如何在 R 中将度分秒转换为十进制?

    我有这个数据框 Lat Long 59 44 50 151 45 11 59 49 28 154 52 56 59 46 42 150 45 15 如何将其转换为十进制列 纬度的单位为 dd mm ss 长的单位为 ddd mm ss 我在
  • 如何使用 JSONata 将嵌套对象展平为单深度对象?

    我是 JSONata 新手 在创建展平函数时遇到一些麻烦 我想把这个输入 user key value map CreatedDate 123424 Department Name XYZ 进入这个 user key value map C