とても素敵なデータ表現言語(やや難あり)
JSONは便利なデータ表現なんだけど、
- 型情報が付加できない
- ハッシュのキーに引用符を付けるのがイヤ
という理由で(2番目はあまり本質的ではないけど)、JSON改(後でXionに改名)というデータ表現を提案しました。
JSON:
{ "familyName" : "板東", "givenName" : "トン吉", "age" : 27, "sex" : "male", "company" : { "name" : "(株)東西トラベル", "url" : "http://www.example.jp/tozai-travel/" }, "hobbies" : ["盆栽", "釣り", "版画"] }JSON改(Xion):
Person { familyName : "板東", givenName : "トン吉", age : 27, sex : Sex "male", company : Company { name : "(株)東西トラベル", url : URL "http://www.example.jp/tozai-travel/" }, hobbies : ["盆栽", "釣り", "版画"] }JSON改の表現では、Person, Sex, Company, URLがデータ型を示す識別子(型名、ソート)です。
とても素敵なデータ表現言語(やや難あり) - 檜山正幸のキマイラ飼育記 (はてなBlog)
うーん、これなら YAML でいいと思う。YAML だと「!Sex "male"」とかでタグを使った明示的な型指定ができるし、ハッシュのキーに引用符をつける必要もない。JSON との互換性もあるし、循環構造も表現できるし、日時 (timestamp) もサポートしている。
YAMLも書きやすく読みやすいですね。構文フレーバー(好み)の問題かもしれませが、循環構造を表す(そうしたい)ときは、JSONのほうがやや有利な気がします。
http://d.hatena.ne.jp/m-hiyama/20060524#c1149125319
循環構造を表すなら YAML だ。JSON では循環構造を表せない。YAML なら anchor と alias を使うことで、何の苦もなく循環構造を表現できる。