在Node.js中读取JSON请求值

时间:2014-07-22 19:53:34

标签: javascript json node.js postman

我有一个用节点编写的Web服务。我可以成功调用此端点。它的设置如下:

myWebService: function(req, res) {
  console.log('Request received.');
  console.log(req);
}

我可以通过标题成功传递值。但是,我试图弄清楚如何从Postman向Web服务发送原始JSON。在Postman中,我点击了" Raw"选项卡,以及下拉列表中选定的JSON。我传递了一些看起来像这样的JSON:

{
  v1:2,
  v2:'?',
  v3:'Some string of text',
  v4:['value 1', 'value 2'], 
  v5:{param1:"p1Value", param2:3 }
}

收到邮递员的请求后,请求中没有JSON。我的端点定义如下:

app.post('/api/myWebService', api.myWebService);

我知道它的工作原因是“请求已收到'正在印刷。另外,我可以看到请求内容,包括标题变量。我不确定为什么JSON值不打印。如果我在x-www-form-urlencodded选项卡中输入键/值对,我可以在req.body变量中看到这些值。但是,我希望尽可能保持干净并尽可能发送纯JSON。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

对于原始JSON,密钥需要双引号(对于初学者):

{
  "v1": 2,
  "v2": "?",
  "v3": "Some string of text",
  "v4": ["value 1", "value 2"], 
  "v5": {param1:"p1Value", param2:3}
}