質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

932閲覧

ruby 読み込んだJSON ハッシュ Hash[:key] で取得できない Hash['key'] はできる

kimurayu

総合スコア158

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2017/10/21 08:09

編集2017/10/21 08:18

JSON を読み込んでハッシュにしたものが、
ハッシュ[:キー] で取得できません。これはなぜでしょうか。
ハッシュ['キー'] ならできました。

通常は ハッシュ[:キー] で取得できる

ruby

1$aaa = { 2 bbb: 'bbb', 3 ccc: 'ccc' 4} 5puts $aaa[:bbb] # bbb 6

JSON ハッシュだと ハッシュ[:キー] で取得できない

json

1eee.json 2{ 3 "fff": "FFF", 4 "ggg": "GGG" 5}

ruby

1File.open('eee.json') do |file| 2 $eee = JSON.load(file) 3end 4puts $eee[:fff] # 表示されない 5puts $eee['ggg'] # GGG 表示される 6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ファイルから文字列を読み込んで、JSON.parseにオプションをつけることでsymbolに変換できました。

ruby

1File.open('eee.json') do |file| 2 string = file.read 3 $eee = JSON.parse(string, {:symbolize_names => true}) 4end 5puts $eee[:fff] # fff

でできました。

投稿2017/10/21 10:14

kimurayu

総合スコア158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

参考情報

  • what is the best way to convert a json formatted key value pair to ruby hash with symbol as key?

https://stackoverflow.com/questions/1732001

投稿2017/10/21 08:41

編集2017/10/21 10:30
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kimurayu

2017/10/21 10:12

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問