Question is related to adding json objects to array using karate API
Below is my code.
* def appendBasics =
"""
function() {
var group = {}
group['details'] = group['details'] || []
karate.append(group['details'], { b: 2 })
karate.append(group['details'], { b: 4 })
karate.log(group)
}
"""
* def bar = appendBasics()
* print bar
Output which I am expecting is
{
"details": [
{
"b": "2"
},
{
"b": "4"
}
]
}
Output which I am getting is
{
"details": [
]
}
Could you please suggest.
>Solution :
Just use native array operations. The use of karate.append() etc and even karate.map() is not needed any more. I revised your code below:
* def appendBasics =
"""
function() {
var group = {}
group['details'] = group['details'] || []
group['details'].push({ b: 2 });
group['details'].push({ b: 4 });
return group;
}
"""
* def bar = appendBasics()
* print bar
Refer: https://stackoverflow.com/a/76091034/143475