如何解决我怎样才能将内部字段映射到同一数组对象中?
具有此输入json:
{
"orderItems": [
{
"itemName": "Mozzz","quantity": 1
},{
"itemName": "zer","quantity": 0,"bar": {
"arr": [
{
"meta_itemName": "Small Barqs2","meta_quantity": 22
}
]
}
}
]
}
我正在尝试在orderItems对象数组内将“ meta_”前缀字段上移,以消除 bar 和 arr 键。
我尝试了这个规格:
[
{
"operation": "shift","spec": {
"orderItems": {
"*": {
"quantity": "basket_item[#2].quantity","itemName": "basket_item[#2].itemName","bar": {
"arr": {
"*": {
"meta_itemName": "basket_item[#2].m2","meta_quantity": "basket_item[#2].m3"
}
}
}
}
}
}
}
]
但是重命名为m2和m3的字段不会保留在“ zer”项内。
解决方法
此规范应为您工作(已通过https://jolt-demo.appspot.com/测试)
[
{
"operation": "shift","spec": {
"orderItems": {
"*": {
"bar": {
"arr": {
"*": { "meta_*": "orderItems[&4].&" }
}
},"*": "orderItems[&1].&"
}
}
}
}
]
输入的输出:
{
"orderItems" : [ {
"itemName" : "Mozzz","quantity" : 1
},{
"itemName" : "zer","quantity" : 0,"meta_itemName" : "Small Barqs2","meta_quantity" : 22
} ]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。