この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
JSON を YAML に変換する
先日 AWS CloudFormation にアップデートがあり、 CloudFormation Template を YAML で書けるようになったようです。
こうなったらぜひとも全ての CloudFormation Template を YAML で書きたいところです。それには JSON を YAML に変換する作業が必要です。
上記の記事内では remarshal を使っていますが Ruby だと何のツールを追加することなく行えます。
変換する
以下のコマンドを実行するだけです。
$ ruby -ryaml -rjson -e 'puts YAML.dump(JSON.parse(STDIN.read))' < sample.json > sample.yaml
-ryaml
と -rjson
で require して、読んだ JSON データを Hash に変換して YAML に dump しています。
例えば、こういう JSON ファイルが、
{
"Date":"2016-09-20",
"Name":"classmethod, Inc"
}
こういう YAML ファイルになります。
---
Date: '2016-09-20'
Name: classmethod, Inc
まとめ
Mac であれば Ruby は標準でインストールされているので、上記コマンドはすぐに試すことができます。