Ruby - Использование .dig для запроса значений во вложенном хэше - возвращает пустое значение - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь получить комментарии с reddit.com/r/programming и вывести комментарии в терминале. Я извлекаю json из reddit, а затем разбираю его во вложенный хэш, но у меня возникают проблемы с запросом хеша для получения комментариев. Является ли использование HASH.dig правильным подходом?

require 'net/http'
require 'rubygems'
require 'json'

url = 'https://www.reddit.com/r/programming/comments.json?sort=top&t=all&limit=10'
uri = URI(url)
response = Net::HTTP.get(uri)
json = JSON.parse(response)
puts json.dig("children","data","body")

Я смотрю вывод комментариев один за другим, но когда я запускаю вышеизложенное, вывод будет пустым. Вот пример хеша:

{"kind"=>"Listing", "data"=>{"modhash"=>"", "dist"=>10, "children"=>[{"kind"=>"t1", "data"=>{"subreddit_id"=>"t5_2tbbg", "approved_at_utc"=>nil, "edited"=>false, "mod_reason_by"=>nil, "banned_by"=>nil, "author_flair_type"=>"text", "removal_reason"=>nil, "link_id"=>"t3_8jwhvk", "author_flair_template_id"=>nil, "likes"=>nil, "replies"=>"", "user_reports"=>[], "saved"=>false, "id"=>"dz3b25e", "banned_at_utc"=>nil, "mod_reason_title"=>nil, "gilded"=>0, "archived"=>false, "report_reasons"=>nil, "author"=>"QueenCrownDown", "num_comments"=>1, "can_mod_post"=>false, "send_replies"=>true, "parent_id"=>"t3_8jwhvk", "score"=>1, "approved_by"=>nil, "over_18"=>false, "mod_note"=>nil, "collapsed"=>false, "body"=>"Any 25$ purchase or just Sunday Riley?! Def taking advantage of this I’ve wanted to try good genes for ages. ", "link_title"=>"[misc] Sunday Riley good genes 7 day sample with a $25 purchase at Sephora. Code:GOODGOOD",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...