输入为
[
{
"id": 123,
"foo": "fooooooo",
"bar": "bbbbbbarr",
"recordtype": {
"name": "type123",
"some_field": "don't care"
},
"parent": {
"name": "parent123",
"some_field": "don't care"
}
},
{
"id": 456,
"foo": "ooooooff",
"bar": "rrrrraaabbbb",
"recordtype": {
"name": "type456",
"some_field": "don't care"
},
"parent": {
"name": "parent789",
"some_field": "don't care"
}
}
]
所需输出为
[
{
"id": 123,
"foo": "fooooooo",
"bar": "bbbbbbarr",
"recordtype": {
"name": "type123",
"some_field": "don't care"
},
"parent": {
"name": "parent123",
"some_field": "don't care"
},
"recordtype_name": "type123",
"parent_name": "parent123"
},
{
"id": 456,
"foo": "ooooooff",
"bar": "rrrrraaabbbb",
"recordtype": {
"name": "type456",
"some_field": "don't care"
},
"parent": {
"name": "parent789",
"some_field": "don't care"
},
"recordtype_name": "type456",
"parent_name": "parent789"
}
]
其中任何具有嵌套name
键的对象都与其父键连接(例如parent和recordtype),分别变为parent_name
和recordtype_name
。我还需要结果对象中的所有原始键和值。
我已经尽力了。这工作,但所有的原始密钥都不见了。
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"name": "[&2].&1_&"
}
}
}
}
]
1条答案
按热度按时间b4lqfgs41#
你最好使用一个modify转换规范,因为它更简单:
网站http://jolt-demo.appspot.com/上的***演示***是
然而,你可以更喜欢使用shift转换规范作为替代:
该演示是
如果出现的顺序对第二种情况很重要(使用shift),那么下面的规范可能是首选: