Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用nodejs读取JSON响应的属性';请求';_Javascript_Json_Node.js_Parsing - Fatal编程技术网

Javascript 使用nodejs读取JSON响应的属性';请求';

Javascript 使用nodejs读取JSON响应的属性';请求';,javascript,json,node.js,parsing,Javascript,Json,Node.js,Parsing,所以我遇到了这个问题。我有一个mocha测试套件,用于测试API端点。API正在路径上发送JSON响应,如下所示: { "error": false, "message": "post deleted" } 在测试套件中,我发送一个删除请求: it('deletes post by given ID', function(done){ request.delete({url: baseUrl + '/posts/delete/' + test_config.valid_post

所以我遇到了这个问题。我有一个mocha测试套件,用于测试API端点。API正在路径上发送JSON响应,如下所示:

{
  "error": false,
  "message": "post deleted"
}
在测试套件中,我发送一个删除请求:

it('deletes post by given ID', function(done){
    request.delete({url: baseUrl + '/posts/delete/' + test_config.valid_post_id},
      function(error, response, body){
      expect(body.error).to.be.false;
      console.log(body.error);
    done();
  });
 });
此测试失败,body.error作为未定义打印到控制台。但是当我这样做的时候

console.log(body);
我得到了JSON对象。 我的问题是-我应该如何解析身体反应


多谢各位

这里的
body
将是一个序列化的JSON字符串,您必须解析它才能访问它的属性

试试这个

var parsedBody = JSON.parse(body)
console.log(parsedBody.error)  // => should give false
我在下面使用

var jsonobj=JSON.parse(body); console.log(jsonobj.scales.scale\u id)


仍然在我的控制台中得到未定义的。

body=JSON.parse(body),然后您可以使用它的属性。您能打印出整个JSON并确保对象上存在.scales.scale\u id属性吗?