繁体   English   中英

使用node.js的JSON数据

[英]JSON data with node.js

我是Node js编程的新手,并且已经开始开发RESTful API。 现在,当我使用如下所示的curl从终端发布数据时:

curl -H“内容类型:应用程序/ json” -X POST -d'{“ full_name”:“ Hristijan ilieski”,“ email”:“ email@mail.com”,“ password”:“ 123”}' http :// localhost:3000 / api / login

我在请求正文中获取了正确的数据。 但是,当我尝试从hurl.it或其他服务中发布一些json时,请求正文为空。 有什么区别,问题出在哪里? 这是我的代码:

function registerUser(req, res){
var jsonData = JSON.parse(JSON.stringify(req.body));
//jsonData['key'] should contain the value...
}

这是来自hurl.it请求的图像:

投掷请求

编辑

我不知道自己做了什么,但是现在当我尝试发布来自hurl.it的请求时,出现此错误:

语法错误:在/ home / hristijan / Documents / UrbanAPI / node_modules / body-parser处(/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/lib/types/json.js:83:15)解析时出现意外令牌f /lib/read.js:116:18在invokeCallback(/home/hristijan/Documents/UrbanAPI/node_modules/body-parser/node_modules/raw-body/index.js:262:16)在完成时(/ home / hristijan /位于IncomingMessage.onEnd的文档/UrbanAPI/node_modules/body-parser/node_modules/raw-body/index.js:251:7)(/ home / hristijan / Documents / UrbanAPI / node_modules / body-parser / node_modules / raw-body / indexN.js:308:7)位于nextNone(events.js:67:13)位于IncomingMessage.emit(events.js:166:7)在endReadableNT(_stream_read.js:905:12)在nextTickCallbackWith2Args(node.js: 441:9)在process._tickCallback(node.js:355:17)

请尝试使用hurl.it主体而不是像这样的参数:

在此处输入图片说明

整个身体是:

{
  "full_name":"Pero Perov",
  "email":"pero@mail.com",
  "password":"pero123",
  "mobile_number":"076 543 210",
  "home_address":"Perovaca 16b",
  "work_address":"Merovaca 18c"
}

为什么要先对JSON进行解析,然后解析请求主体? 那使您回到第一个方格...

此外,您可能需要一些accept标头和utf-8编码,具体取决于您后端的设置方式...(后者以前回来困扰了我。)

可能想尝试Content-type:application / json; 字符集= utf-8

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM