Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Postman检查嵌套JSON中的值_Javascript_Json_Google Chrome App_Assert_Postman - Fatal编程技术网

Javascript 使用Postman检查嵌套JSON中的值

Javascript 使用Postman检查嵌套JSON中的值,javascript,json,google-chrome-app,assert,postman,Javascript,Json,Google Chrome App,Assert,Postman,我在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"

我在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"
    }
  ]
},
我正在尝试测试我的响应体是否有
“名称”:“India”
,以及
“game”
“some\u game\u id1”
包含
“name”:“cricket”

我已经讨论过这个问题,答案是为“name”创建一个数组,然后在数组中检查数组是否包含该值。我尝试了这个,但是我的代码失败了

此外,我还尝试使用以下方法通过JSON主体内的索引搜索元素-

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

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

您需要将
[0]
放在
结果
(一个数组)之后,而不是
名称
(一个字符串)

另外,使用正则表达式检查名称是否包含
'India'
,因为使用
==
仅检查名称是否完全是India

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

演示片段:
var响应主体=`{
“结果”:[{
“_id”:“某个_id”,
“名称”:“印度”,
“代码”:“IN”,
“链接”:http://www.india.info/",
“关闭时间”:“2017-02-25T01:12:17.860Z”,
“开放时间”:“2017-02-25T06:12:17.205Z”,
“图像”:“图像链接”,
“状态”:“在线”,
“服务器状态”:“联机”,
“游戏”:[{
“\u id”:“一些游戏\u id 1”,
“名称”:“蟋蟀”
},
{
“\u id”:“一些\u另一个\u id 1”,
“名称”:“棒球”
},
{
“\u id”:“一些\u另一个\u id\u 2”,
“名称”:“篮球”
}
]
},
{
“_id”:“某个_id”,
“名称”:“澳大利亚”,
“代码”:“澳大利亚”,
“链接”:https://www.lonelyplanet.com/aus/adelaide",
“关闭时间”:“2017-02-28T05:13:38.022Z”,
“开放时间”:“2017-02-28T05:13:38.682Z”,
“图片”:“一些图片”,
“状态”:“脱机”,
“服务器状态”:“联机”,
“游戏”:[{
“\u id”:“一些游戏\u id\u 2”,
“名称”:“蟋蟀”
},
{
“\u id”:“一些\u另一个\u id\u 3”,
“名称”:“Kho Kho”
},
{
“\u id”:“一些\u另一个\u id\u 4”,
“名称”:“羽毛球”
},
{
“_id”:“一些_另一个_id_5”,
“姓名”:“网球”
}
]
}
]
}`
变量测试={}
var searchJSON=JSON.parse(responseBody)
tests[“name contains India”]=/India/.test(searchJSON.result[0].name)
console.log(tests)/=>{“name contains India”:true}