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);