Как получить значение из ответа JSON, который находится в формате массива в каратэ - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь получить значение из моего ответа в формате JSONArray. Я хочу получить идентификатор из первого объекта массива.

{
  "count": 1,
  "next": "",
  "previous": "",
  "list": [
    {
      "id": "f78bde61-056a-4358-bbac-50bf524c965c",
      "name": "Auto_Approval",
      "description": "Lambda Functions Demo",
      "context": "hjk",
      "version": "v1",
      "provider": "hk",
      "status": "PUBLISHED",
      "thumbnailUri": null
    },
    {
      "id": "f78bde61-056a-4358-bbac-50bf524c965c",
      "name": "Auto_Approval",
      "description": "Lambda Functions Demo",
      "context": "knkl",
      "version": "v1",
      "provider": "uygi",
      "status": "PUBLISHED",
      "thumbnailUri": null
    }
  ],
  "pagination": {
    "total": 1,
    "offset": 0,
    "limit": 25
  }
}

Я хочу получить значение id.

Я пытался response.list[0].id, но это не работает.

Пожалуйста, помогите

1 Ответ

0 голосов
/ 03 сентября 2018

В вашем JSON есть ошибка, запятая отсутствует. Пожалуйста, будьте осторожнее в будущем.

Вставьте ниже и посмотрите, как это работает.

* def response = 
"""
{
   "count":1,
   "next":"",
   "previous":"",
   "list":[
      {
         "id":"f78bde61-056a-4358-bbac-50bf524c965c",
         "name":"Auto_Approval",
         "description":"Lambda Functions Demo",
         "context":"hjk",
         "version":"v1",
         "provider":"hk",
         "status":"PUBLISHED",
         "thumbnailUri":null
      },
      {
         "id":"f78bde61-056a-4358-bbac-50bf524c965c",
         "name":"Auto_Approval",
         "description":"Lambda Functions Demo",
         "context":"knkl",
         "version":"v1",
         "provider":"uygi",
         "status":"PUBLISHED",
         "thumbnailUri":null
      }
   ],
   "pagination":{
      "total":1,
      "offset":0,
      "limit":25
   }
}
"""
* def id = response.list[0].id
* match id == 'f78bde61-056a-4358-bbac-50bf524c965c'
...