我在尝试使用 POSTMAN 检查响应正文中的 JSON 值时遇到问题,因为 JSON 对象名称中包含句点
通常 JSON 响应正文会是这样的:
{
"restapi": "Beta",
"logLevel": "INFO"
}
所以通常我们可以使用 POSTMAN 对 JSON 值进行测试:
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.restapi).to.eql(Beta);
});
但是我现在遇到的问题是 JSON 对象名称有一个像这样的句号
{
"restapi.name": "Beta",
"logLevel.sleep": "INFO"
}
因此,如果我尝试像这样读取对象,则会出现错误
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.restapi.name).to.eql(Beta);
});
您可以通过在名称周围使用
key
来引用 brackets
值:
jsonData["restapi.name"]
对象属性可以使用
.
运算符或使用 []
的关联数组索引来访问。 IE。 object.property
相当于 object["property"]
这应该可以解决问题
jsonData["restapi.name"]
我也有类似的嵌套值,其中包括句号。 “数据”: [ { “展览”:“12345a”, “展览.参考”:“CS aa1234”, ...
我能够成功使用以下 PATH 表达式
$data[*].["展览.参考"]