Update: Fixed mistakes in example code. Turned out my problem was caused by an additional 'records' in var jsonVar = jsonVar.concat(results.records);
How can I concat JSON objects in a loop? I can concat 2 JSON objects like this:
var json1 = {
"records": [{
"id": 28100988,
"work_text_reviews_count": 13,
"average_rating": "3.10"
}, {
"id": 10280687,
"work_text_reviews_count": 80,
"average_rating": "3.87"
}]
}
var json2 = {
"records": [{
"id": 16135639,
"work_text_reviews_count": 0,
"average_rating": "0.00"
}, {
"id": 17978337,
"work_text_reviews_count": 2414,
"average_rating": "3.76"
}, {
"id": 360721218,
"work_text_reviews_count": 4924,
"average_rating": "3.98"
}]
}
var json3 = json1.records.concat(json2.records);
To add a 3rd JSON object I know I can just add .concat(json3.records) but how can I dynamically concatenate JSON objects in a loop?
Example: Say values.length = 5, this means 5 JSON objects need to be concatenated.
for (var i=0; i<values.length ; i++) {
response= UrlFetchApp.fetch(url);
Utilities.sleep(1000);
var results = JSON.parse(response);
// this works now (had a typo here)
var jsonVar = jsonVar.concat(results.records);
}