我正在尝试更改以下输入的转换规范:
{
"a": {
"serviceTesta": "Testa1",
"b": {
"serviceTestb": "Testb1",
"c": [
{
"name": "x",
"value": "100",
"desc": "this is description of X"
},
{
"name": "y",
"value": "200",
"desc": "this is description of y"
}
]
}
}
}
,预期输出如下:
[
{
"Testa1_Testb1_x": "100",
"Testa1_Testb1_x_desc": "this is description of X"
},
{
"Testa1_Testb1_y": "100",
"Testa1_Testb1_y_desc": "this is description of y"
}
]
我的规格:
[
{
"operation": "shift",
"spec": {
"a": {
"b": {
"c": {
"*": {
"value": "@(4,serviceTesta).@(3,serviceTestb)@(1,name)"
}
}
}
}
}
}
]
我是新来的人,尝试了不同的方法,但是无法获得想要的输出。 我们非常感谢您的帮助。
谢谢
答案 0 :(得分:0)
您可以通过对转换进行二次移位来获得所需的结果:
使用*
和&n
的组合来构建密钥。
[
{
"operation": "shift",
"spec": {
"a": {
"b": {
"c": {
"*": {
"value": "@(4,serviceTesta).@(3,serviceTestb).@(1,name)"
}
}
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": {
"*": {
"@": "&3_&2_&1"
}
}
}
}
}
]