Hi All,
I am trying to generate separate UUID for JSON array of objects. I tried to use ${UUID()} in JOLT specification, but this is generating same UUID for all the elements.
e.g.
Input:
===============
{
"aliases": [
"Alias1",
" Alias2"
]
}
JOLT Specification
=====================
[
{
"operation": "shift",
"spec": {
"aliases": {
"*": "alias[&0].name"
}
}
},
{
"operation": "modify-default-beta",
"spec": {
"alias": {
"*": {
"id": "${UUID()}"
}
}
}
}
]
Current Output:
=====================
"alias" : [ {
"name" : "Alias1",
"id" : "2948446b-6213-44ba-b81f-c4e5f7dab2eb"
}, {
"name" : " Alias2",
"id" : "2948446b-6213-44ba-b81f-c4e5f7dab2eb"
} ]
Any pointers will be greatly appreciated.
Thanks,
Biswa
Created 06-28-2020 08:34 AM
Hi @Biswa!
I tried various ways of getting a unique id for each array. Most of them failed. But, I tried to append the array index to the unique id. Even while doing it, I faced many issues. See if the below spec is okay
[
{
"operation": "shift",
"spec": {
"aliases": {
"*": {
"@0": "alias[&1].name",
"$0": "alias[&1].id.${UUID()}-&1"
}
}
}
},
{
"operation": "shift",
"spec": {
"alias": {
"*": {
"id": {
"*": {
"$0": "alias[&3].id"
}
},
"*": "alias[&1].&"
}
}
}
}
]
Created 06-28-2020 08:34 AM
Hi @Biswa!
I tried various ways of getting a unique id for each array. Most of them failed. But, I tried to append the array index to the unique id. Even while doing it, I faced many issues. See if the below spec is okay
[
{
"operation": "shift",
"spec": {
"aliases": {
"*": {
"@0": "alias[&1].name",
"$0": "alias[&1].id.${UUID()}-&1"
}
}
}
},
{
"operation": "shift",
"spec": {
"alias": {
"*": {
"id": {
"*": {
"$0": "alias[&3].id"
}
},
"*": "alias[&1].&"
}
}
}
}
]