无法使用 JOLT 解析器获得预期的输出
Unable to get expected output using JOLT parser
我有以下input
:
[
{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines": [
{
"engineId": "1",
"engineName": "Standard Engine",
"engineHp": 300
},
{
"engineId": "2",
"engineName": "Custom Engine",
"engineHp": 450
}
]
}
]
我需要 expected
输出如下:
[{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines":{
"engineId": "1",
"engineName": "Standard Engine",
"engineHp": 300
}
},
{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines":{
"engineId": "2",
"engineName": "Custom Engine",
"engineHp": 450
}
}]
我在下面尝试 spec
但它抛出错误:
[{
"ownerId": "ownerId",
"*": {
"vehicleId": "vehicleId",
"engineId": "engineId",
"engineHp": "engineHp"
}
}]
Error
:
Error running the Transform.
JOLT Chainr 'operation' must implement Transform or ContextualTransform at index:0.
请告诉我哪里做错了。
您必须指定操作(如果使用链规范),然后是执行对象树实际 "walking" 的 spec
部分。这应该有效:
[
{
"operation": "shift",
"spec": {
"*": {
"engines": {
"*": {
"@(2,ownerId)": "[#2].ownerId",
"@(2,vehicleId)": "[#2].vehicleId",
"*": "[#2].&"
}
}
}
}
}
]
我有以下input
:
[
{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines": [
{
"engineId": "1",
"engineName": "Standard Engine",
"engineHp": 300
},
{
"engineId": "2",
"engineName": "Custom Engine",
"engineHp": 450
}
]
}
]
我需要 expected
输出如下:
[{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines":{
"engineId": "1",
"engineName": "Standard Engine",
"engineHp": 300
}
},
{
"ownerId": "XTV7I728",
"vehicleId": "999",
"engines":{
"engineId": "2",
"engineName": "Custom Engine",
"engineHp": 450
}
}]
我在下面尝试 spec
但它抛出错误:
[{
"ownerId": "ownerId",
"*": {
"vehicleId": "vehicleId",
"engineId": "engineId",
"engineHp": "engineHp"
}
}]
Error
:
Error running the Transform.
JOLT Chainr 'operation' must implement Transform or ContextualTransform at index:0.
请告诉我哪里做错了。
您必须指定操作(如果使用链规范),然后是执行对象树实际 "walking" 的 spec
部分。这应该有效:
[
{
"operation": "shift",
"spec": {
"*": {
"engines": {
"*": {
"@(2,ownerId)": "[#2].ownerId",
"@(2,vehicleId)": "[#2].vehicleId",
"*": "[#2].&"
}
}
}
}
}
]