当前位置: 首页 > 知识库问答 >
问题:

空手道:遍历通过复杂的JSON找到匹配

公孙智
2023-03-14

我遇到了一个APIendpoint,得到了如下结果。

{
    "emp": {
        "id": "123",
        "firstNm": "test",
        "lastNm": "last",
        "dob": "200-01-01",
        "gender": {
            "code": "F",
            "name": "Female",
            "description": "Female"
        },
        "test1": [
            {
                "tes2": "F50045A3B994FB2BDF4E3D3FC906F592",
                "t2": "a23",
                "test3": {
                    "code": "432",
                },
                "ind": [
                    "ABC",
                    "BCD",
                ]
            }
        ]
    }
}

我想匹配数组中的元素

"ind": [
    "ABC",
    "BCD",
]

我尝试了以下方法:

 Feature: test
Background:
        * url BaseUrl
        * configure headers = read('classpath:headers.js')
Scenario Outline: test
    Given path '/path'
    And param id = <id>
    When method get
    Then status 200

        * def json = response
        * def has = {ind:['#string'] }
        * def indicator = { ind: '#[] has' }
        * match json.member == '#[] indicator'

Examples:
    |   id   |
    | '1234' |

但观察到以下例外:

预期:“#[]ind”,原因:没有数组或列表,请有人帮忙?

共有1个答案

盖成弘
2023-03-14

我并没有真正遵循您的逻辑,因为指示符不在json响应或定义的变量中,但要到达ind数组,路径是emp.test1[0].ind

如果您想匹配数组有ABC和BCD,您可以执行以下操作

* match response.emp.test1[0].ind == ['ABC', 'BCD']
 类似资料:
  • 我正在尝试验证具有可选键的复杂JSON 下面是完整的可执行特性文件 我想验证ValidJsonSchema,但无法绕过完整的模式匹配 当我尝试匹配可选字段时,我一直得到错误为 com.intuit.karate.exception.karateException:应在路径$中找到属性为[“MyArray”]的对象,但发现了“net.minidev.json.JsonArray”。根据JSONPro

  • 问题内容: 我正在使用具有一些奇怪结构的JSON数据,例如: 我想创建一些JavaScript,将这些数据重组为适当的JSON结构,以使“列”数组值成为“数据”数组值的键。因此,在运行JS进程后,数据类似于以下内容: 完成JSON重组的JavaScript最佳做法是什么?我可以使用JQuery,Foundation JS等JS框架完成此任务吗? 问题答案: newjson是您的新对象,j是您的js

  • 我们知道range函数可以遍历数组,切片,字典等。这里我们还可以使用range函数来遍历通道以接收通道数据。 package main import "fmt" func main() { // 我们遍历queue通道里面的两个数据 queue := make(chan string, 2) queue <- "one" queue <- "two" clo

  • 我试图用空手道验证响应模式,但数组存在问题。附加响应和功能以及my schema.json。 回应- } responseSchema.json {"页面":"#编号","per_page":"#编号","总计":"#编号","total_pages":"#编号","数据": "#[] #对象","支持":"#对象"}

  • 问题内容: 我在使用jQuery / Ajax / JSON时遇到问题。我正在使用像这样的jQuery ajax帖子… 据我了解,这将返回一个JavaScript JSON对象?Ajax发布产生的文本是这样的(我相信这是有效的JSON)… 我似乎无法弄清楚如何解析jQuery ajax帖子返回的JSON对象…基本上,我想循环遍历并像这样返回每个学生组成一个div … 我似乎无法弄清楚该怎么做… 谢

  • 下面是用于匹配的json示例;匹配包含不起作用。 它的投掷低于错误,