Arrays 如何在Google应用程序脚本web应用程序中提取JSON对象?
有人能指出为什么这个功能不起作用吗Arrays 如何在Google应用程序脚本web应用程序中提取JSON对象?,arrays,json,google-apps-script,web-applications,Arrays,Json,Google Apps Script,Web Applications,有人能指出为什么这个功能不起作用吗 function doPost(e) { var contents = JSON.parse(e.postData.contents); var data = JSON.stringify(contents,null,4); var x = data["inboundSMSMessageList"]; var y= x.inboundSMSMessage[0].senderA
function doPost(e) {
var contents = JSON.parse(e.postData.contents);
var data = JSON.stringify(contents,null,4);
var x = data["inboundSMSMessageList"];
var y= x.inboundSMSMessage[0].senderAddress;
GmailApp.sendEmail("sample.email@gmail.com", "test5", y);
}
它接受一个事件侦听器e,解析其内容,然后分别使用JSON.parse()和JSON.stringify()严格地解析内容。这是一个字符串化数据示例:
var data = {
"inboundSMSMessageList": {
"inboundSMSMessage": [
{
"dateTime": "Sun Jan 03 2021 01:25:03 GMT+0000 (UTC)",
"destinationAddress": "tel:21585789",
"messageId": "5ff11cef73cf74588ab2a735",
"message": "Yes",
"resourceURL": null,
"senderAddress": "tel:+63917xxxxx"
}
],
"numberOfMessagesInThisBatch": 1,
"resourceURL": null,
"totalNumberOfPendingMessages": 0
}
}
脚本似乎在倒数第二行失败(var y);但当我在示例数据上运行它时,我能够访问Im目标的密钥和值对-这是发件人地址(它向我的电子邮件发送“tel:+63917xxxxx:”)。有人知道它作为web应用程序运行时失败的原因吗?我认为在您的脚本中,
var contents=JSON.parse(e.postData.contents);
可以用作已解析的对象。我认为您出现错误的原因是该对象被var data=JSON.stringify(contents,null,4)
转换为字符串。那么下面的修改如何
发件人:
致:
- 在此修改中,
是y
tel:+63917xxxxx
- 当您修改Web应用的脚本时,请将Web应用重新部署为新版本。这样,最新的脚本将反映到Web应用中。请注意此操作
var contents = JSON.parse(e.postData.contents);
var data = JSON.stringify(contents,null,4);
var data = JSON.parse(e.postData.contents);