Skip to main content
Rarasinhoo
Gold ⭐️
November 14, 2021
Solved

Jolt Transform Structure

Hi, I'm trying to develop a Jolt Spec for the following transform:

JSON Input:

 

 

[
{
"randomkeyname1": "randomvalue1"
},
{
"randomkeyname11": "randomvalue11",
"randomkeyname22": "randomvalue22"
},
{
"randomkeyname111": "randomvalue111",
"randomkeyname222": "randomvalue222",
"randomkeyname333": "randomvalue333"
}
]

 

 


JSON Output:

 

 

[
{
"data": [
{
"key": "randomkeyname1",
"value": "randomkeyvalue1"
}
]
},
{
"data": [
{
"key": "randomkeyname11",
"value": "randomkeyvalue11"
},
{
"key": "randomkeyname22",
"value": "randomkeyvalue22"
}
]
},
{
"data": [
{
"key": "randomkeyname111",
"value": "randomkeyvalue111"
},
{
"key": "randomkeyname222",
"value": "randomkeyvalue222"
},
{
"key": "randomkeyname333",
"value": "randomkeyvalue333"
}
]
}
]

 

 

 
I've tried many things but I'm newbie to this and didn't find anyone with similar issue.

The closest result that I managed to get was with the following Spec:

 

 

 

[{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "data[#2].key",
"@": "data[#2].value"
}
}
}
}]

 

 

 

Which gave me the following output:

 

 

{
"data" : [ {
"key" : [ "randomkeyname1", "randomkeyname11", "randomkeyname111" ],
"value" : [ "randomvalue1", "randomvalue11", "randomvalue111" ]
}, {
"key" : [ "randomkeyname22", "randomkeyname222" ],
"value" : [ "randomvalue22", "randomvalue222" ]
}, {
"key" : "randomkeyname333",
"value" : "randomvalue333"
} ]
}

 

 

 

Note: I don't know how many values, key names nor root level arrays I'm getting, is somewhat random.

 

I appreciate any help or ideas, thanks in advance!

Rarasinhoo
Gold ⭐️
November 29, 2021

Hi everyone, the following spec did the trick!

 

 

[{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "[&2].data[#2].key",
"@": "[&2].data[#2].value"
}
}
}
}]

 

2 replies

Rarasinhoo
RarasinhooAuthorAnswer
Gold ⭐️
November 29, 2021

Hi everyone, the following spec did the trick!

 

 

[{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "[&2].data[#2].key",
"@": "[&2].data[#2].value"
}
}
}
}]

 

Translate
cjervis
Community Manager
Community Manager
November 29, 2021

@Rarasinhoo  I'm happy to see you resolved your issue. Please mark the appropriate reply as the solution, as it will make it easier for others to find the answer in the future. 

Screen Shot 2019-08-06 at 1.54.47 PM.pngmark as solution button

Translate
Keep the questions coming