首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BaasBox中POST请求中的JSON对象

BaasBox中POST请求中的JSON对象
EN

Stack Overflow用户
提问于 2016-02-14 20:27:07
回答 1查看 101关注 0票数 0

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

代码语言: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如下所示:

代码语言:javascript
复制
let json = "{ \"firstname\" : \"John\" , \"lastname\" : \"Jones\" , \"message\" : \"Hello there\" }"

现在是有趣的部分:如果我只是像这样存储请求主体,那么JSON就可以成功地存储为文档。

代码语言:javascript
复制
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对象?

EN

回答 1

Stack Overflow用户

发布于 2016-02-14 22:15:21

事实证明,req.body不是一个实际的字符串。下面是更新后的代码:

代码语言:javascript
复制
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};
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35391726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档