java - 带有映射的自定义 JOLT 转换
问题描述
可以使用JOLT或者其他java api做这种Json Transformation,并得到转换后的映射结果
例子
- name : 是人名
- parent : 也是人名
将所有人员(姓名和父母)从Paul更新为Evan
输入
{
"persons":[
{
"name":"Paul",
"adress":"abcd",
"parent":"Chris"
},
{
"name":"Jean",
"adress":"abcd",
"parent":"Paul"
}
]
}
输出
{
"persons":[
{
"name":"Evan",
"adress":"abcd",
"parent":"Chris"
},
{
"name":"Jean",
"adress":"abcd",
"parent":"Evan"
}
]
}
有人可以帮助编写此转换的规范,以及我们如何获得转换后的映射结果
映射(保罗->埃文)
解决方案
实现此目的的一种方法是使用此规范:
[
{
"operation": "shift",
"spec": {
"persons": {
"*": {
"name": {
"Paul": {
"#Evan": "persons.[&3].name"
},
"*": {
"@(2,name)": "persons.[&3].name"
}
},
"parent": {
"Paul": {
"#Evan": "persons.[&3].parent"
},
"*": {
"@(2,parent)": "persons.[&3].parent"
}
},
"*": "persons.[&1].&"
}
}
}
}
]
推荐阅读
- javascript - 比较 html 表格中的单元格 bgcolor,使用 For/If 构造
- vue.js - 我在使用 Gridsome 和 Directus 显示子页面时遇到问题
- elasticsearch - ElasticSearch query_string :过滤数组成员包含 2 个字段值的元素
- bash - grep /usr/share/dict/words
- c# - 在 Xamarin.Android 中向通知添加声音
- javascript - 将 javascript 编码转换为 Elfish 程序的 Python 编码
- c# - 如何在 ASP.NET MVC 中使用 NLog 记录客户端 IP 地址
- browser - 符合 WCAG AA 要求的浏览器缩放范围是多少?
- ios - 适用于 iOS13.1.2 (17A860) 的 DeviceSupport 文件
- html - 存储在没有 DNS 条目的网站上的文件的下载链接(本地主机文件)