У меня есть следующий объект json:
{
"email": "api.test@cool.io",
"firstName": "John",
"lastName": "Doe",
"birthday": "1982-08-30",
"createdAt": "2015-10-02T08:23:53Z",
"gender": "male",
"businessUnit": "DE"
}
И я хочу поместить его в мой массив с именем "Udpated" N раз:
{ updated : [], deleted : []}
Не могли бы вы сказать, какМогу ли я сделать это с помощью фреймворка каратэ?Как это можно сделать элегантным способом?
Я пробовал чистый JS вот так
Scenario: read json within a js function1
* def getId = function(){ return java.util.UUID.randomUUID() + '' }
* def x = read('classpath:data/user.json')
* eval
"""
var body = { updated : [], deleted : []};
var foo = function(){
var uuid = getId();
x.id = uuid;
x.email = 'api.test+' + uuid + '@cool.io';
body.updated.push(x);
body.updated.push(x);
}
foo();
karate.set('temp', body);
"""
* print temp
, но в результате получил не массив, а карту.Вот мой результат:
15:58:45.580 [main] INFO com.intuit.karate - [print] {
"updated": {
"0": {
"email": "api.test+543d3448-7726-4bb3-8762-e593fb2c5435@cool.io",
"firstName": "John",
"lastName": "Doe",
"birthday": "1982-08-30",
"createdAt": "2015-10-02T08:23:53Z",
"gender": "male",
"businessUnit": "DE",
"id": "543d3448-7726-4bb3-8762-e593fb2c5435"
}
},
"deleted": {
"0": "#ref:java.util.LinkedHashMap"
}
}