gpt4 book ai didi

javascript - 使用 Postman 检查嵌套 JSON 中的值

转载 作者:行者123 更新时间:2023-11-29 17:51:49 25 4
gpt4 key购买 nike

我在 POSTMAN chrome 应用程序中使用 GET 请求从 API 返回了一个嵌套的 JSON。我的 JSON 看起来像这样

"result": [
{
"_id": "some_id",
"name": "India",
"code": "IN",
"link": "http://www.india.info/",
"closingTime": "2017-02-25T01:12:17.860Z",
"openingTime": "2017-02-25T06:12:17.205Z",
"image": "image_link",
"status": "online",
"serverStatus": "online",
"games": [
{
"_id": "some_game_id1",
"name": "Cricket"
},
{
"_id": "some_another_id1",
"name": "Baseball"
},
{
"_id": "some_another_id_2",
"name": "Basketball"
}
]
},
{
"_id": "some_id",
"name": "Australia",
"code": "AUS",
"link": "https://www.lonelyplanet.com/aus/adelaide",
"closingTime": "2017-02-28T05:13:38.022Z",
"openingTime": "2017-02-28T05:13:38.682Z",
"image": "some_image_url",
"status": "offline",
"serverStatus": "online",
"games": [
{
"_id": "some_game_id_2",
"name": "Cricket"
},
{
"_id": "some_another_id_3",
"name": "Kho-Kho"
},
{
"_id": "some_another_id_4",
"name": "Badminton"
},
{
"_id": "some_another_id_5",
"name": "Tennis"
}
]
},

我正在尝试测试我的响应正文是否有 "name":"India" 和带有 "some_game_id1""game"包含 "name":"cricket"

我经历了这个link答案是为“名称”创建一个数组,然后在该数组中检查该数组是否包含该值。我试过了,但我的代码失败了。

另外,我尝试使用这个在 JSON 正文中通过索引搜索元素 -

   var searchJSON = JSON.parse(responseBody);
tests["name contains India"] = searchJSON.result.name[0]==="India";

但这也失败了。我尝试使用 .value 附加在上面代码的第二行,但它也失败了。我怎样才能检查这个东西?

最佳答案

您需要将 [0] 放在 result(数组)之后而不是 name(字符串)之后。

此外,使用正则表达式检查名称是否包含 'India',因为使用 === 仅检查名称是否恰好是 India。

var searchJSON = JSON.parse(responseBody)
tests["name contains India"] = /India/.test(searchJSON.result[0].name)


演示片段:

var responseBody = `{
"result": [{
"_id": "some_id",
"name": "India",
"code": "IN",
"link": "http://www.india.info/",
"closingTime": "2017-02-25T01:12:17.860Z",
"openingTime": "2017-02-25T06:12:17.205Z",
"image": "image_link",
"status": "online",
"serverStatus": "online",
"games": [{
"_id": "some_game_id1",
"name": "Cricket"
},
{
"_id": "some_another_id1",
"name": "Baseball"
},
{
"_id": "some_another_id_2",
"name": "Basketball"
}
]
},
{
"_id": "some_id",
"name": "Australia",
"code": "AUS",
"link": "https://www.lonelyplanet.com/aus/adelaide",
"closingTime": "2017-02-28T05:13:38.022Z",
"openingTime": "2017-02-28T05:13:38.682Z",
"image": "some_image_url",
"status": "offline",
"serverStatus": "online",
"games": [{
"_id": "some_game_id_2",
"name": "Cricket"
},
{
"_id": "some_another_id_3",
"name": "Kho-Kho"
},
{
"_id": "some_another_id_4",
"name": "Badminton"
},
{
"_id": "some_another_id_5",
"name": "Tennis"
}
]
}
]
}`

var tests = {}

var searchJSON = JSON.parse(responseBody)
tests["name contains India"] = /India/.test(searchJSON.result[0].name)

console.log(tests) //=> { "name contains India": true }

关于javascript - 使用 Postman 检查嵌套 JSON 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42850233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com