Json 使用震动将一个数组转换为另一个数组
我已经尝试使用如下的Jolt将输入json字符串转换为另一个字符串。但是我无法编写正确的Jolt规范来实现转换,Jolt可以这样做吗?谢谢 输入:Json 使用震动将一个数组转换为另一个数组,json,jolt,Json,Jolt,我已经尝试使用如下的Jolt将输入json字符串转换为另一个字符串。但是我无法编写正确的Jolt规范来实现转换,Jolt可以这样做吗?谢谢 输入: { "result": [ { "name": "AAA", "value1": "AAA-111", "value2": "AAA-222", "value3": "AAA-333" }, { "name": "BBB", "value1": "BB
{
"result": [
{
"name": "AAA",
"value1": "AAA-111",
"value2": "AAA-222",
"value3": "AAA-333"
},
{
"name": "BBB",
"value1": "BBB-111",
"value2": "BBB-222",
"value3": "BBB-333"
},
{
"name": "CCC",
"value1": "CCC-111",
"value2": "CCC-222",
"value3": "CCC-333"
}
]
}
{
"result": [
{
"value_name":"value1",
"AAA":"AAA-111",
"BBB":"BBB-111",
"CCC":"CCC-111"
},
{
"value_name":"value2",
"AAA":"AAA-222",
"BBB":"BBB-222",
"CCC":"CCC-222"
},
{
"value_name":"value3",
"AAA":"AAA-333",
"BBB":"BBB-333",
"CCC":"CCC-333"
}
]
}
输出:
{
"result": [
{
"name": "AAA",
"value1": "AAA-111",
"value2": "AAA-222",
"value3": "AAA-333"
},
{
"name": "BBB",
"value1": "BBB-111",
"value2": "BBB-222",
"value3": "BBB-333"
},
{
"name": "CCC",
"value1": "CCC-111",
"value2": "CCC-222",
"value3": "CCC-333"
}
]
}
{
"result": [
{
"value_name":"value1",
"AAA":"AAA-111",
"BBB":"BBB-111",
"CCC":"CCC-111"
},
{
"value_name":"value2",
"AAA":"AAA-222",
"BBB":"BBB-222",
"CCC":"CCC-222"
},
{
"value_name":"value3",
"AAA":"AAA-333",
"BBB":"BBB-333",
"CCC":"CCC-333"
}
]
}
这不仅仅是“将一个数组转置到另一个数组”
这里实际上有四件事:
[
{
“操作”:“移位”,
“规格”:{
“结果”:{
"*": {
//首先,按valueKEY将所有数据分组
“值*”:“&[]”
}
}
}
},
{
//接下来构建“AAA”:“AAA-111”结构
//但尚未在最终结果数组中
“操作”:“移位”,
“规格”:{
“value*”:{//应该是value1、value2等
“*”:{//数组索引
"*-*": {
//保持顶级值1、值2
//但现在构建“AAA”:“AAA-111”逻辑
//这是假设它是以“-”分隔的
"@1": "&3.&(1,1)"
}
}
}
}
},
{
//现在构建'value_name':'value1'
“操作”:“移位”,
“规格”:{
“值*”:{
//通过“AAA”:“AAA-111”数据
"*": "&1.&",
//
//将值名称向下推为“AAA”的同级名称:“AAA-111”
“$”:“&1.值\u名称”
}
}
},
{
//最后,现在核心数据已全部设置完毕,请累积
//排成一列
“操作”:“移位”,
“规格”:{
“值*”:“结果[]”
}
}
]
这不仅仅是“将一个数组转置到另一个数组”
这里实际上有四件事:
[
{
“操作”:“移位”,
“规格”:{
“结果”:{
"*": {
//首先,按valueKEY将所有数据分组
“值*”:“&[]”
}
}
}
},
{
//接下来构建“AAA”:“AAA-111”结构
//但尚未在最终结果数组中
“操作”:“移位”,
“规格”:{
“value*”:{//应该是value1、value2等
“*”:{//数组索引
"*-*": {
//保持顶级值1、值2
//但现在构建“AAA”:“AAA-111”逻辑
//这是假设它是以“-”分隔的
"@1": "&3.&(1,1)"
}
}
}
}
},
{
//现在构建'value_name':'value1'
“操作”:“移位”,
“规格”:{
“值*”:{
//通过“AAA”:“AAA-111”数据
"*": "&1.&",
//
//将值名称向下推为“AAA”的同级名称:“AAA-111”
“$”:“&1.值\u名称”
}
}
},
{
//最后,现在核心数据已全部设置完毕,请累积
//排成一列
“操作”:“移位”,
“规格”:{
“值*”:“结果[]”
}
}
]
谢谢您的回复!对不起,我的坏例子,在你的步骤2中,我的意思是新的键不是从相应的值中提取出来的,而是来自“name”的键。你能提供这个假设的另一个规格吗?或者我应该发布另一个问题吗?非常感谢。谢谢你的回复!对不起,我的坏例子,在你的步骤2中,我的意思是新的键不是从相应的值中提取出来的,而是来自“name”的键。你能提供这个假设的另一个规格吗?或者我应该发布另一个问题吗?非常感谢。