所以我遇到了这个问题。我有一个mocha测试套件,用于测试API端点。 API正在路径上发送JSON响应,如下所示:
{
"error": false,
"message": "post deleted"
}
在测试套件中,我发送DELETE请求:
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对象。 我的问题是 - 我应该如何解析身体反应?
谢谢。
答案 0 :(得分:2)
此处body
将是序列化的JSON字符串,您必须解析它才能访问其属性
试试这个
var parsedBody = JSON.parse(body)
console.log(parsedBody.error) // => should give false
答案 1 :(得分:0)
我在下面使用
var jsonobj = JSON.parse(body); console.log(jsonobj.scales.scale_id);
在我的控制台中仍然未定义。