我有一个如下所示的JSON数组:
{
"id": 258,
"rawId": null,
"displayName": null,
"name": {
"givenName": "my ame",
"honorificSuffix": "",
"formatted": "my ame",
"middleName": "",
"familyName": "",
"honorificPrefix": ""
},
"nickname": "",
"phoneNumbers": [{
"value": "23423442342424",
"pref": false,
"id": 0,
"type": "mobile"
}],
"emails": null,
"addresses": null,
"ims": null,
"organizations": [{
"pref": "false",
"title": "",
"name": "",
"department": "",
"type": null
}],
"birthday": null,
"note": "",
"photos": null,
"categories": null,
"urls": null
}
我需要从此JSON获取phoneNumbers >>值。
所以我尝试了一些类似的事情:
var d = JSON.parse(test);
alert(test[0].phoneNumbers.value);
变量test是上面显示的JSON。
我也尝试过:
alert(d[0].phoneNumbers.value);
和
alert(test.phoneNumbers.value);
但以上方法均无效。
我的代码中是否缺少某些内容?
谢谢。
答案 0 :(得分:1)
您显示给我们的是一个JSON字符串(解析后提供一个JS对象),而不是一个数组。
因此function Sortowanie() {
if(SpreadsheetApp.getActiveSpreadsheet().getName() == 'Name of sheet'){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1:C35').activate();
spreadsheet.getActiveRange().offset(1, 0,
spreadsheet.getActiveRange().getNumRows() - 1).sort({column: 3, ascending:
false});
spreadsheet.getRange('E9').activate();
}
}
将不起作用,而d[0].phoneNumbers
将起作用并为您提供一个数组。
由于它会给您一个数组,因此d.phoneNumbers
将不起作用,而d.phoneNumbers.value
将起作用。