Jsonの形式について教えてください。
以下JsonFileをロードしたものです。
Ruby
1loaded ={} 2File.open("C:\\Users\\user\\Documents\\test\\outputs.json") do |file| 3 loaded = JSON.load(file) 4end 5p loaded #1 6p loaded.to_json #2 7json = JSON.parse(loaded.to_json, :symbolize_names => true) 8p json #3 9p json = JSON.parse(loaded) #4 10
上のコードを実行しました。
結果
ruby
1①{"oya"=>{"ko"=>"a"} 2②"{\"oya\":{\"ko\":\"a\"}" 3③{:oya=>{:ko=>"a"} 4④ruby/gems/1.8/gems/json-1.8.3/lib/json/common.rb:155:in `initialize': can't convert Hash into String (TypeError)
②はto_json
を用いているためjsonの形式なのだなとわかるのですが
①と③の違いは何ですか?
①も③も.class
をつけるとどちらもHashとでました。
また①のキーは文字列?③は文字列ではなくシンボルになっているのですか?
④に関してはエラー…
loaded[:oya]
で値は取れたりloaded['oya']
でないと取れなかったりします。
詳しい方違いを教えていただけませんでしょうか…
よろしくお願いいたします。
環境
Ruby1.8.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/11 05:32
2017/04/11 05:35
2017/04/11 05:49