首页 文章

在 Node.js 中读取 JSON 请求值

提问于
浏览
0

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

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

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

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

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

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

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

我究竟做错了什么?

1 回答

  • 1

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

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

相关问题