Javascript 使用nodejs读取JSON响应的属性';请求';
所以我遇到了这个问题。我有一个mocha测试套件,用于测试API端点。API正在路径上发送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
{
"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属性吗?