Как проанализировать JSON и получить доступ к значению - PullRequest
0 голосов
/ 15 марта 2019

Исходя из этого,

{
  “students”: [
    {
      “name”: “test1”,
      "id": 1,
      "created_at": "2019-03-13T21:34:30Z",
      "updated_at": "2019-03-13T21:34:30Z",
      “title”: "My test ticket2",
      "description": “My test description!”
     }
  ],
  "count": 1
}

Как я могу получить значение идентификатора, описания и количества?Я сделал:

JSON.parse(response)

, но я не уверен, как получить значение.

Ответы [ 2 ]

2 голосов
/ 15 марта 2019

Вам нужно проанализировать дважды, если вы просто проанализируете один раз, вы получите ошибку: TypeError: no implicit conversion of Hash into String

вы должны сделать так:

parsed_response = JSON.parse(response.to_json)

Тогда вы можете получить нужные значения:

parsed_response['students'][0]['id']

Вы также можете использовать метод dig , если ваша версия ruby ​​выше 2.3:

parsed_response.dig('students', 0, 'id')
=> 1
1 голос
/ 15 марта 2019

JSON.parse возвращает хеш.

Получение информации о студенте :

parsed_response = JSON.parse(response)
parsed_response['students'].first['id']
parsed_response['students'].first['name']
parsed_response['students'].first['description']

Если у вас более одного значения, переберите их с помощью each.

Количество выборок :

parsed_response = JSON.parse(response)
parsed_response['count']

Вместо [] вы можете использовать fetch (parsed_response.fetch('students')). Помните, что fetch вызывает ошибку, если ключ отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...