Jolt 转换 JSON 列表规范 JSON 输入
Jolt Transform JSON Spec for List JSON Input
我正在尝试对输入的 JSON-list 进行 JOLT 移位转换
在我的输入下方:
[
{
"number": 1001,
"description": "KA01"
},
{
"number": 1002,
"description": "KA02"
}
]
我想创建这个输出:
{
"actions" : [
{
"_type": "SetFieldValue",
"fieldName": "UUID",
"value": "uuid"
},
{ "_type": "InsertRow" },
{
"_type": "SetFieldValue",
"fieldName": "number",
"value": "1001"
},
{
"_type": "SetFieldValue",
"fieldName": "description",
"value": "KA01"
},
{ "_type": "InsertRow" },
{
"_type": "SetFieldValue",
"fieldName": "number",
"value": "1002"
},
{
"_type": "SetFieldValue",
"fieldName": "description",
"value": "KA02"
},
{
"_type": "SetFieldValue",
"fieldName": "start"
}
]
}
我在 JOLT 转换方面做得不多,在这种情况下需要帮助。
首先你可以将JSON值按键名和键值分成几部分,然后添加_type
属性作为默认值如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "&1.[&2].fieldName",
"@": "&1.[&2].value"
}
},
"#UUID": "x[#2].fieldName",
"#uuid": "x[#2].value",
"#start": "y[#2].fieldName"
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": ""
}
}
},
{
"operation": "default",
"spec": {
"*": {
"_type": "SetFieldValue"
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"@": ""
},
"#InsertRow": "_type"
}
},
{
"operation": "sort",
"spec": {}
}
]
我正在尝试对输入的 JSON-list 进行 JOLT 移位转换 在我的输入下方:
[
{
"number": 1001,
"description": "KA01"
},
{
"number": 1002,
"description": "KA02"
}
]
我想创建这个输出:
{
"actions" : [
{
"_type": "SetFieldValue",
"fieldName": "UUID",
"value": "uuid"
},
{ "_type": "InsertRow" },
{
"_type": "SetFieldValue",
"fieldName": "number",
"value": "1001"
},
{
"_type": "SetFieldValue",
"fieldName": "description",
"value": "KA01"
},
{ "_type": "InsertRow" },
{
"_type": "SetFieldValue",
"fieldName": "number",
"value": "1002"
},
{
"_type": "SetFieldValue",
"fieldName": "description",
"value": "KA02"
},
{
"_type": "SetFieldValue",
"fieldName": "start"
}
]
}
我在 JOLT 转换方面做得不多,在这种情况下需要帮助。
首先你可以将JSON值按键名和键值分成几部分,然后添加_type
属性作为默认值如
[
{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "&1.[&2].fieldName",
"@": "&1.[&2].value"
}
},
"#UUID": "x[#2].fieldName",
"#uuid": "x[#2].value",
"#start": "y[#2].fieldName"
}
},
{
"operation": "shift",
"spec": {
"*": {
"*": ""
}
}
},
{
"operation": "default",
"spec": {
"*": {
"_type": "SetFieldValue"
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"@": ""
},
"#InsertRow": "_type"
}
},
{
"operation": "sort",
"spec": {}
}
]