【问题标题】:JSON differences with javascript and googlescriptJSON 与 javascript 和 google 脚本的区别
【发布时间】:2017-05-07 04:10:59
【问题描述】:

我正在使用谷歌脚本从网页记录表单数据,然后将其通过电子邮件发送到另一个电子邮件地址,而用户无需使用他们的电子邮件客户端。一切正常,现在我正在尝试格式化电子邮件正文中的 JSON 输出,甚至按照此处的指南和其他问题,正文不会格式化。我想通过创建一个新行来分解信息,我认为这就像添加“\ n”一样简单,但这在谷歌环境中对我不起作用。这是我正在使用的代码

Logger.log(e);
MailApp.sendEmail(TO_ADDRESS, "Quote Form Submitted", JSON.strinify(e.parameters));

此外,如果这有助于电子邮件当前的外观,表单由 2 个复选框部分组成,其余部分是单行文本输入或文本区域输入

{"CompanyName":["Test  Company"],"Garage":["on"],"Customer":["on"],"Start":["2016-12-21"],"SpecialService":["None"],"ProvingGround":["on"],"ContactInfo":["1234  Candy Cane Ln. "],"End":["2016-12-29"],"ContactName":["John  Doe"],"ContactTitle":["IT Support"],"Other":["on"]}

有没有办法做到这一点,或者我最好以不同的方式来解决这个问题?

【问题讨论】:

  • 通过电子邮件发送 JSON 值而不是直接在端点之间移动数据似乎很奇怪。
  • 我对这种东西很陌生,所以这可能是一种奇怪的做法,但我发现它看起来很简单。你会如何推荐这样的事情?我让它按照我想要的方式打印,但如果有更好的方法,我愿意尝试
  • 这可能取决于你想要做什么。 JSON 数据最终会发生什么?

标签: javascript php json email google-app-engine


【解决方案1】:

JSON.stringify 有内置选项可以漂亮地打印输出。你可以给它一个替换函数来改变输出值和一个表示缩进级别的数字。

var data = {
  a: {
    b: 'c',
    d: 'e',
  },
  f: {
    g: {
      h: {
        i: 'j'
      }
    }
  }
};

console.log('Normal:');
console.log(JSON.stringify(data));
console.log('Pretty-printed:');
console.log(JSON.stringify(data, null, 2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2019-07-02
    • 1970-01-01
    相关资源
    最近更新 更多