[英]JSON object from POST request in BaasBox
我正在嘗試從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將成功存儲為Document。
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對象?
原來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};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.