AJs
AJs

Reputation: 11

How to traverse thru a response when it is as below

{
    "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"
}

For an array we can try as response.partneraccount[*]. but my response is { }

Upvotes: 1

Views: 47

Answers (1)

Peter Thomas
Peter Thomas

Reputation: 58078

You use [] only when there are arrays. Just observe your JSON structure carefully and you will get it. Try pasting the below into a fresh Scenario and see it work:

* 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'

Upvotes: 1

Related Questions