我正在请求一个API,而我返回的json是这个
{
"items":[
{
"id":"231321",
"externalId":32131",
"status":"published",
"network":"facebook",
"message":"message",
"externalChannels":[
"231312"
],
"pictures":[
picture"
],
"type":"picture",
"facebook":{
"dark":false
},
"labels":[
"bus",
"train",
"car"
],
当我尝试解析标签部分时,虽然我只获得第一个值,但没有另一个。我进行了一些谷歌搜索,发现它跟在逗号后面,但是我找不到任何解决方案。有什么想法吗?
编辑:使用下面的脚本,我可以在记录器上看到标签的所有值,但只有第一个值写在电子表格上。
function getdata() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('api');
var range = sheet.getRange("A:C");
var response = UrlFetchApp.fetch("api call");
var dataAll = JSON.parse(response.getContentText());
var dataSet = dataAll.items;
var rows = [],
data;
for (i = 0; i < dataSet.length; i++) {
data = dataSet[i];
rows.push([new Date(),data.labels]); //your JSON entities here
}
Logger.log(rows)
//sheet.getRange(getlastRow() + 1, 1, rows.length, 2).setValues(rows);
sheet.getRange(sheet.getLastRow() + 1, 1, rows.length, 2).setValues(rows);
样品:
function myFunction() {
var myObject = {
"items":[
{
"id":"231321",
"externalId":"32131",
"status":"published",
"network":"facebook",
"message":"message",
"externalChannels":[
"231312"
],
"pictures":[
"picture"
],
"type":"picture",
"facebook":{
"dark":false
},
"labels":[
"bus",
"train",
"car"
],
}
]
}
var data = myObject.items;
var array = [];
for (var i = 0; i< data.length; i++){
var newJson = Object.keys(data[i]).map(function (key) {
return [key, data[i][key]];
});
for(var j = 0; j< newJson.length; j++){
array.push(newJson[j]);
}
}
Logger.log(array);
Logger.log(array[0][0] + " is " + array[0][1]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句