【发布时间】:2016-04-23 19:00:25
【问题描述】:
更新:修正了示例代码中的错误。原来我的问题是由var jsonVar = jsonVar.concat(results.records);中的额外“记录”引起的
如何在循环中连接 JSON 对象?我可以像这样连接 2 个 JSON 对象:
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);
要添加第三个 JSON 对象,我知道我可以添加 .concat(json3.records) 但是如何在循环中动态连接 JSON 对象?
示例: 说 values.length = 5,这意味着需要连接 5 个 JSON 对象。
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);
}
【问题讨论】:
-
什么(你认为)“JSON 对象”是什么?
-
它看起来更像是一个异步问题,而不是一个 concat 问题。
-
对不起,我忽略了我的代码中的一个错误。我在
var jsonVar = jsonVar.records.concat(results.records);中有一个额外的“记录”,应该是var jsonVar = jsonVar.concat(results.records); -
@dean2020 不要在 cmets 中进行更正,编辑问题并修复它。似乎还有一个错字:
results = UrlFetchApp.fetch(url)应该是response = ...
标签: javascript json