jsonata - JSONata:替换“。” 在多级 JSON 的所有对象键中带有“_”
问题描述
JSONata 新手再次签到。
希望有一个解决方案来取代“。” 在任何对象深度级别的所有键中都带有“_”。上次我给出了一个过于简单的例子,最后得到的答案没有解决多级 JSON,所以我再次提出一个更好的例子。TIA。
鉴于此 JSON(练习者:https ://try.jsonata.org/TXqkO6RLm )
[
{
"An.Example": "Dots.are.okay.in.values",
"Product": {
"Product.ID.Number": 858383,
"Product.Name": "Bowler Hat",
"Unit.Cost": 12
}
},
{
"Another.Example": "With.dots.in.values",
"Product": {
"Manufacturer": {
"Mail.Address": "123 Main St",
"Mail.City": "Boulder",
"Mail.Postal.Code": "80303",
"Mail.State": "CO",
"Manufacturer.Email": "sales@umbrellazrus.com",
"Manufacturer.Name": "Umbrellaz R Us"
},
"Product.ID.Number": 65432,
"Product.Name": "Umbrella",
"Unit.Cost": 9
}
}
]
期望的结果:
[
{
"An_Example": "Dots.are.okay.in.values",
"Product": {
"Product_ID.Number": 858383,
"Product_Name": "Bowler Hat",
"Unit_Cost": 12
}
},
{
"Another_Example": "With.dots.in.values",
"Product": {
"Manufacturer": {
"Mail_Address": "123 Main St",
"Mail_City": "Boulder",
"Mail_Postal.Code": "80303",
"Mail_State": "CO",
"Manufacturer_Name": "Umbrellaz R Us" ,
"Manufacturer_Email": "sales@umbrellazrus.com"
},
"Product_ID_Number": 65432,
"Product_Name": "Umbrella",
"Unit_Cost": 9
}
}
]
解决方案
推荐阅读
- c# - npoi c#列号差异
- linux - sed.exe -e 表达式 #1,未知命令
- git-tfs - 我可以使用 Git tfs 重新迁移到现有的 git repo
- ruby-on-rails - 使用 dotenv env for stripe 提供的 API 密钥无效
- node.js - 给定 https s3 url 将文件上传到 s3
- spring-boot - spring boot 自定义错误页面在服务器上部署时不呈现
- java - 无法使用 Spring 的 @Value、@ConfigurationProperties 注释从属性文件中检索值
- c++ - Cmake,Qt:动态更改 x86/x64 版本的 Bin 和插件的路径
- presto - 在 PrestoSQL 中将行组合成一个列表
- bash - 如何使用 Bash 查找、按大小排序和导出