やりたいこと
次の YAML を JSON に変換したい。
girls.yml
- name: 中川夏紀
musical_instrument: ユーフォニアム
- name: 吉川優子
musical_instrument: トランペット
- name: 鎧塚みぞれ
musical_instrument: オーボエ
- name: 傘木希美
musical_instrument: フルート
方法
yaml_to_json.rb
require 'json'
require 'yaml'
filepath = ARGV[0]
yaml = File.read(filepath)
obj = YAML.safe_load(yaml, [], [], true)
puts(JSON.pretty_generate(obj))
$ ruby yaml_to_json.rb girls.yml
[
{
"name": "中川夏紀",
"musical_instrument": "ユーフォニアム"
},
{
"name": "吉川優子",
"musical_instrument": "トランペット"
},
{
"name": "鎧塚みぞれ",
"musical_instrument": "オーボエ"
},
{
"name": "傘木希美",
"musical_instrument": "フルート"
}
]
JSON モジュールに JSON.pretty_generate なんて素敵なメソッドがあるとは