- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
Jolt Transform Structure
- Labels:
-
Apache NiFi
Created ‎11-14-2021 09:00 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
Created on ‎11-29-2021 04:30 AM - edited ‎11-29-2021 04:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone, the following spec did the trick!
[{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "[&2].data[#2].key",
"@": "[&2].data[#2].value"
}
}
}
}]
Created on ‎11-29-2021 04:30 AM - edited ‎11-29-2021 04:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone, the following spec did the trick!
[{
"operation": "shift",
"spec": {
"*": {
"*": {
"$": "[&2].data[#2].key",
"@": "[&2].data[#2].value"
}
}
}
}]
Created ‎11-29-2021 07:21 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@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.
Cy Jervis, Manager, Community Program
Was your question answered? Make sure to mark the answer as the accepted solution.
If you find a reply useful, say thanks by clicking on the thumbs up button.
