从此
{
“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
}
如何获取ID,说明和计数的值?我做到了:
JSON.parse(response)
但是我不确定如何获得价值。
答案 0 :(得分:2)
您需要解析两次,如果只解析一次,则会收到错误消息:
TypeError: no implicit conversion of Hash into String
您应该这样做:
parsed_response = JSON.parse(response.to_json)
然后您可以根据需要获取值:
parsed_response['students'][0]['id']
如果您的红宝石版本高于2.3,也可以使用dig方法:
parsed_response.dig('students', 0, 'id')
=> 1
答案 1 :(得分:1)
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
会引发错误。