使用 JOLT 将键向下移动到 NIFI 中的数组中
Moving a key down into a array in NIFI using JOLT
这是我的第一个 post。我需要在 NIFI 中使用 JOLT 转换 JSON。
为了进一步处理它,我需要将每个数组的键移动(或复制)到数组本身。
JSON 看起来像这样(简化后,数组中的元素数量是可变的)
{
"status": {
"123": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
},
"345": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
}
}
}
我需要让每个数组的键成为它的一个成员,所以我想要的输出是
{
"status": {
"123": {
"id" : "123"
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
},
"345": {
"id" : "345",
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
}
}
}
但到目前为止,我无法解决这个问题。我发现的所有示例都是将父值移动到数组中,而不是数组本身的键。
请帮忙
BR
启
您可以使用 shift 转换,例如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "&2.&1.id",
"*": "&2.&1.&"
}
}
}
}
]
其中$代表上一层的键,&1代表每个对象的键值,&2 用于通过向上两个级别获取文字 status
。
这是我的第一个 post。我需要在 NIFI 中使用 JOLT 转换 JSON。 为了进一步处理它,我需要将每个数组的键移动(或复制)到数组本身。
JSON 看起来像这样(简化后,数组中的元素数量是可变的)
{
"status": {
"123": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
},
"345": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
}
}
}
我需要让每个数组的键成为它的一个成员,所以我想要的输出是
{
"status": {
"123": {
"id" : "123"
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
},
"345": {
"id" : "345",
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5",
"key6": "value6",
"key7": "value7"
}
}
}
但到目前为止,我无法解决这个问题。我发现的所有示例都是将父值移动到数组中,而不是数组本身的键。
请帮忙
BR
启
您可以使用 shift 转换,例如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "&2.&1.id",
"*": "&2.&1.&"
}
}
}
}
]
其中$代表上一层的键,&1代表每个对象的键值,&2 用于通过向上两个级别获取文字 status
。