teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問の意図を読み違えたため、追記

2016/09/17 11:53

投稿

raa0121
raa0121

スコア190

answer CHANGED
@@ -1,3 +1,15 @@
1
+ 追記
2
+ `Net::HTTP.get` が正しく実行されず、json データが一部欠けてしまったのではないでしょうか。
3
+ 私の手元では
4
+ ```ruby
5
+ require 'json'
6
+ require 'open-uri'
7
+
8
+ json = JSON.parse(open("https://www.googleapis.com/books/v1/volumes?q=%E7%A5%9E%E6%A7%98%E3%81%AE%E3%82%AB%E3%83%AB%E3%83%86&country=JP").read)
9
+ ```
10
+ と言うコードで、正しく取得を行えました。
11
+ 追記ここまで
12
+
1
13
  Ruby において、Hash は配列を要素として含むことが出来ます。
2
14
  したがって、`JSON.parse`で得られた値は Hash として正しいものです。
3
15
  ですので、対象の元データが配列を含む json の場合そのままの形でパースされることとなります。