Управление и вывод JSON в Ruby - PullRequest
0 голосов
/ 25 мая 2018

У меня есть JSON-возврат (это хеш-массив? JS-объект?), Где каждая запись является информацией о человеке и имеет следующий формат:

{"type"=>"PersonSummary", 
"id"=>"123", "properties"=>{"permalink"=>"personname", 
"api_path"=>"people/personname"}} 

Я хотел бы просмотреть всевведите и выведите только «id»

Я поместил весь «ответ» JSON pull в «result»

result = JSON.parse(response)

, затем я хотел бы просмотреть результат ираспечатать идентификатор и «api_path» этого человека:

result.each do | напечатать id AND api_path |

Как мне это сделать в Ruby?

1 Ответ

0 голосов
/ 25 мая 2018

Единственный раз, когда вам нужно будет использовать JSON.parse, это если у вас есть строка, которую вам нужно проанализировать в Hash.Например:

result = JSON.parse('{ "type" : "PersonSummary", "id" : 123, "properties" : { "permalink" : "personname", "api_path" : "people/personname" } }')

Если у вас есть Hash, к result можно получить доступ, задав ему key, например result[:id] или result['id'] (оба будут работать), или выМожно также выполнить итерацию по хешу, используя следующий код:

Если вам нужен доступ к значению api_path, вы можете сделать это, используя result['properties']['api_path']

result = { 'type' => 'PersonSummary', 'id' => 123, 'properties' => { 'permalink' => 'personname', 'api_path' => 'people/personname' } }

result.each do |key, value|
  puts "Key: #{key}\t\tValue: #{value}"
end

Вы можете даже сделать что-тонапример puts value if key == 'id', если вы просто хотите показать определенные значения.

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