KarateException 路径中缺少 属性 - JSON

KarateException Missing Property in path - JSON

我试图从响应中匹配特定变量并尝试如下。但是我收到错误提示 KarateException Missing Property in path $['Odata']。我的问题是:我们如何修改才能避免出现此错误?

特征:

And match response.@odata.context.a.b contains '<b>'

示例:

|b|
|b1  |
|b2  |

响应是

{
    "@odata.context": "$metadata#Accounts",

    "a": [
            {
                "c": 145729,
                "b": "b1",
                "d": "ON",
            },
            {
                "c": 145729,
                "b": "b2",
                "d": "ON",
            }
        ]
 }

我认为您对 JSON 的结构感到困惑。另请注意,当 JSON 键具有特殊字符时,您需要更改在路径表达式中使用它们的方式。您可以尝试将以下内容粘贴到新场景中并查看它是否有效:

* def response =
"""
{
"@odata.context": "$metadata#Accounts",
"a": [
    {
        "c": 145729,
        "b": "b1",
        "d": "ON",
    },
    {
        "c": 145729,
        "b": "b2",
        "d": "ON",
    }
]
}
"""
* match response['@odata.context'] == '$metadata#Accounts'
* match response.a[0].b == 'b1'
* match response.a[1].b == 'b2'