在 jolt 规范中使用相同的键在对象内部添加数组
Add array inside object with same key in jolt spec
我想通过 row_id 键在 investors 中使用相同的 row_id
移动建议数组
原版Json
{
"investors": [
{
"row_id": 1,
"name": "AAAA"
},
{
"row_id": 2,
"name": "BBBB"
}
],
"recommendations": [
{
"row_id": "1",
"title": "ABC"
},
{
"row_id": "2",
"title": "CDE"
}
]
}
我在 https://jolt-demo.appspot.com 尝试了很多规格但没有成功
已尝试规格...
[{
"operation": "shift",
"spec": {
"investors": {
"*": "investors[]"
},
"recommendations": {
"@": "recommendations[]"
}
}
}]
想要Json
{
"investors": [
{
"row_id": 1,
"name": "AAAA",
"recommendations":[{
"row_id": "1",
"title": "ABC"
}]
},
{
"row_id": 2,
"name": "BBBB",
"recommendations":[{
"row_id": "2",
"title": "CDE"
}]
}
]
}
这可以分两个阶段完成
第一个班次根据 row_id.
对所有内容进行分组
(我建议运行自己的第一个班次看看输出是什么)
第二班使用该分组输出并格式化结果。
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"row_id": {
"*": {
"@2": "&.&4"
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"investors": "investors.[#2]",
"recommendations": "investors.[#2].recommendations[]"
}
}
}
]
我想通过 row_id 键在 investors 中使用相同的 row_id
移动建议数组原版Json
{
"investors": [
{
"row_id": 1,
"name": "AAAA"
},
{
"row_id": 2,
"name": "BBBB"
}
],
"recommendations": [
{
"row_id": "1",
"title": "ABC"
},
{
"row_id": "2",
"title": "CDE"
}
]
}
我在 https://jolt-demo.appspot.com 尝试了很多规格但没有成功
已尝试规格...
[{
"operation": "shift",
"spec": {
"investors": {
"*": "investors[]"
},
"recommendations": {
"@": "recommendations[]"
}
}
}]
想要Json
{
"investors": [
{
"row_id": 1,
"name": "AAAA",
"recommendations":[{
"row_id": "1",
"title": "ABC"
}]
},
{
"row_id": 2,
"name": "BBBB",
"recommendations":[{
"row_id": "2",
"title": "CDE"
}]
}
]
}
这可以分两个阶段完成
第一个班次根据 row_id.
对所有内容进行分组(我建议运行自己的第一个班次看看输出是什么)
第二班使用该分组输出并格式化结果。
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"row_id": {
"*": {
"@2": "&.&4"
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"investors": "investors.[#2]",
"recommendations": "investors.[#2].recommendations[]"
}
}
}
]