Как пройти через ответ, когда он, как показано ниже - PullRequest
1 голос
/ 11 июня 2019
{
    "createDate": "2019-05-15 10:07:44",
    "mak": "pokijoklm",
    "optStatus": "yujuim",
    "partnerAccount": {
        "operatorName": "frftcrtii",
        "partnerCustomerId": "XXXXX",
        "type": "partnerAccount"
    },
    "transactionId": "hjknhijn1",
    "type": "nihnui",
    "updateDate": "2019-05-15 11:20:59"
}

Для массива мы можем попробовать в качестве response.partneraccount [*].но мой ответ: {}

1 Ответ

1 голос
/ 11 июня 2019

Вы используете [] только при наличии массивов. Просто внимательно наблюдайте за своей структурой JSON, и вы ее получите. Попробуйте вставить следующее в свежий Scenario и убедитесь, что оно работает:

* def response =
"""
{
    "createDate": "2019-05-15 10:07:44",
    "mak": "pokijoklm",
    "optStatus": "yujuim",
    "partnerAccount": {
        "operatorName": "frftcrtii",
        "partnerCustomerId": "XXXXX",
        "type": "partnerAccount"
    },
    "transactionId": "hjknhijn1",
    "type": "nihnui",
    "updateDate": "2019-05-15 11:20:59"
}
"""
* def partnerAccount = response.partnerAccount
* match partnerAccount == { operatorName: 'frftcrtii', partnerCustomerId: 'XXXXX',  type: 'partnerAccount' }
* def custId = response.partnerAccount.partnerCustomerId
* match custId == 'XXXXX'
...