2011年4月7日木曜日

YAMLからJSONへ JSONからYAMLへ 変換 メモ

YAML→JSON JSON→YAML 変換 メモ


CouchDBを使っていて、コマンドラインでJSONのサンプルデータを入力していると、
”文字列”に””をいちいち付けるのが

 面 倒

YAMLなら””付けなくてもいいのに!

という事で、YAML→JSON ついでにJSON→YAMLを作成した。

とはいっても、Rubyでは、ライブラリが豊富なので、ほんの数行でOK!

今回YAMLは標準のライブラリ、JSONは
$ gem install json
でインストールしておく。
自インストールの場合は require "rubygems”も宣言
($ gem install ya2yaml)もなければインストール

---------------------------------------------------------------------------
ytj.rb (yaml to json)

require "rubygems"
require "yaml"
require "json/pure"

streof = <<'EOF'
名前: 永田浩一
電話番号: 090-0000-0000
年齢: 28
EOF

ypon = YAML.load( streof );
jpon = JSON.pretty_generate(ypon);
puts jpon


---------------------------------------------------------------------------
jty.rb (json to yaml)

require "rubygems"
require "json/pure"
require "yaml"
require "ya2yaml"

streof = <<'EOF'
{
"名前": "永田浩一",
"電話番号": "090-0000-0000",
"年齢": 28
}
EOF

jpon = JSON.parse( streof );

#YAML.loadでも読める
#jpon = YAML.load( streof );

$KCODE = 'utf8'
puts jpon.ya2yaml





という事で、さすがRuby。
JSONはYAMLのサブセットなので、Jsonを読むだけならYAMLオブジェクトでも読める。
ライブラリがutf8のみの対応みたいで、変換時に$KCODEを設定するのが味噌です。

ちなみに私の年齢は大嘘です。ごめんなさい(ーくー)m


0 件のコメント: