LoginSignup
12
10

More than 5 years have passed since last update.

[Ruby] rubyのJSON.parseした結果をシンボルのキーで受け取る

Posted at

通常、RubyでJSON.parseするとシンボルをキーにしていたHashが文字列のキーになってしまう。

irb(main):013:0* require 'json'
=> true

irb(main):014:0> test = {key1: 'value1', key2: 'value2'}
=> {:key1=>"value1", :key2=>"value2"}

irb(main):017:0* test_json = test.to_json
=> "{\"key1\":\"value1\",\"key2\":\"value2\"}"

# シンボルのキーが文字列になってしまう
irb(main):021:0* test_parse = JSON.parse(test_json)
=> {"key1"=>"value1", "key2"=>"value2"}

これをシンボルのまま使いたい場合はJSON.parseの第二引数にsymbolize_namesをtrueで指定してあげればOK

irb(main):024:0* test_parse = JSON.parse(test_json, {symbolize_names: true})
=> {:key1=>"value1", :key2=>"value2"}
12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10