【问题标题】:JSON object from POST request in BaasBoxBaasBox 中来自 POST 请求的 JSON 对象
【发布时间】:2016-02-14 12:27:06
【问题描述】:

我正在尝试从 POST 请求中的有效负载创建 JSON 对象,但似乎无法使其正常工作。我正在使用 BaasBox,并创建了一个如下所示的 JavaScript 插件:

http().post(function(req){
    Box.log(req.method + " received: " + req);
    var jsonObject = JSON(req.body);
    Box.log("JSON parsed successfully");

    var message = new Object();
    message.message = jsonObject["message"];
    message.firstname = jsonObject["firstname"];
    message.lastname = jsonObject["lastname"];

    var doc = Box.Documents.save("Messages",message);
    Box.log("Messages created: " + doc.id);
    return {status: 200, content: message};
});

这是一个尝试从请求正文创建 JSON 对象的简单脚本。来自 iOS 客户端应用程序的 JSON 如下所示:

let json = "{ \"firstname\" : \"John\" , \"lastname\" : \"Jones\" , \"message\" : \"Hello there\" }"

现在有趣的部分是:如果我只是像这样存储请求正文,那么 JSON 将成功存储为文档。

http().post(function(req){
    Box.log(req.method + " received: " + req);

    var doc = Box.Documents.save("Messages",req.body);
    Box.log("Messages created: " + doc.id);
    return {status: 200, content: req.body};
});

如何从请求正文创建 JSON 对象?

【问题讨论】:

  • 尝试将var jsonObject = JSON(req.body);更改为var jsonObject = JSON.parse(req.body);
  • 哎呀,从我这边打错了!但这不起作用:(
  • 你试过var doc = Box.Documents.save("Messages",JSON.stringify(message));吗?
  • 我玩了一段时间,发现 req.body 实际上不是字符串。所以我用那个 stringify 方法把它变成了一个字符串,现在它可以工作了。谢谢你:)

标签: javascript json baasbox


【解决方案1】:

原来 req.body 不是一个实际的字符串。这是有效的更新代码:

http().post(function(req){
    Box.log(req.method + " received: " + req);
    var jsonString = JSON.stringify(req.body);
    var jsonObject = JSON.parse(jsonString);
    Box.log("JSON parsed successfully");

    var message = new Object();
    message.message = jsonObject["message"];
    message.firstname = jsonObject["firstname"];
    message.lastname = jsonObject["lastname"];

    var doc = Box.Documents.save("Messages",message);
    Box.log("Messages created: " + doc.id);
    return {status: 200, content: message};
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2017-09-18
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多