【发布时间】:2020-07-01 15:48:59
【问题描述】:
我已经尝试了几个小时来解决这个问题。
我收到一条 JSON 帖子 (Shopify),我正在通过 doPost(e) 网络应用程序编写应用程序脚本,但这可能无关紧要。
收到货后的样子
- 注意
postData.contents中奇怪的反斜杠(它被字符串化以显示在我的控制台中)...
{"contentLength":6450,"queryString":"","postData":{"contents":"{\"id\":820982911946154508,\"
// clipped because stackoverflow doesn't like it
这是我尝试过的一些事情
e.postData.contents;
// => {"id":820982911946154508,"email":"jon@doe.ca",...} (Clipped here too)
//Great, looks like a proper object...BUT...
var order = e.postData.contents;
//order.id => undefined
var order = JSON.parse(e.postData.contents);
//order.id => undefined
var order = JSON.parse(JSON.stringify(e.postData.contents));
//order.id => undefined
【问题讨论】:
-
"contents":"{\"id\":820982911946154508,\"但contents显然是一个字符串,而不是一个对象。注意转义的引号:\"。它很可能是一个 json 字符串。 -
console.log(typeof e.postData.contents)会看到什么? -
@ASDFGerte 这就是他尝试
JSON.parse(e.postData.contents)的原因 -
在您执行
order = JSON.parse(e.postData.contents);之后,console.log(order)会显示什么? -
您显示的 json 无效,您可以显示有效的 json。这将有助于我们给出更好的答案
标签: javascript json object google-apps-script