首页 > 解决方案 > 如何将 JSON 响应转换为字符串并将其与字符串进行比较

问题描述

我正在尝试获取请求的 POST 数据并将其与预期的数据字符串进行比较,但它不起作用,不确定这里出了什么问题:

var PostData = '"{\\\"filter\\\":{\\\"operator\\\":\\\"and\\\"}}"';  
var message = JSON.parse(element.message).message;   
expect(PostData).toMatch(JSON.stringify(message.params.request.postData));

我的 Expect 每次都因此错误而失败:

Expected '"{\"filter\":{\"operator\":\"and\"}}"' to match '"{\"filter\":{\"operator\":\"and\"}}"'

标签: javascriptjavanode.jsjasmineprotractor

解决方案


尝试使用:

expect(PostData).toMatch(JSON.stringify(JSON.parse(message.params.request.postData)));

或者

var PostData = JSON.stringfy(...put the text here...)
expect(PostData).toMatch(JSON.stringify(JSON.parse(message.params.request.postData)));```

推荐阅读