データ形式にも色々あるんですねえ…。
YAMLについても調べ回ってみました。概ね良い感じだと思ったのですが、「ハッシュのキーでソートされてしまうかどうか」「挿入順で要素を辿れるのかどうか」
がライブラリによってまちまちで…
yaml-cppはそういう仕様で、そうなるとハッシュの下に配列を挟む必要があり、これは面倒だと挫折しました。
Syckは何やらLibYAMLに取って代わられたらしいので、LibYAMLを調べたのですが、Cからの利用法について余りにも日本語ドキュメントが少なくて挫折しました。
一応C#から利用する分には、YAMLSerializerというのが良さげではありました。性能について文句をつけてるサイトもあった気がしますが。
で、そうなるとXMLというのも浮かんでくるのですが、いくら環境が整っていていいパーサも揃っているとしても、やはり存在自体が面倒ですね…
どうしても一々終了タグで閉じるのが納得行きませんでした。
そうして結局JSONに戻ってきたのですが、C#でJSONを利用するとき、一般的なライブラリを使うと動的にキーを変更できない(以前書きました)というのがあって
使うことが出来ません。
そうなると残ったのは自作のPseudoJsonだけになりました。別に折角作ったから勿体無く感じた、というわけでもないのですが、こうやって一巡して戻ってくると
意外なメリットがあるもんですね。殆ど自分が仕様を把握していることから来るものですが。
ただ、これで世の中には様々なデータ形式があることが判ったので、皆さんのおすすめのデータ形式があれば教えていただきたいです。
もしかするとこれから浮気するかもしれません。
データ形式にもいろいろあるんですね
Re: データ形式にもいろいろあるんですね
そもそもJSONやYAMLのハッシュでは仕様上、キーは順不同です。だからyaml-cppの仕様に問題はありません。
ハッシュキーの順番が維持されることを期待してはいけないので、順番を保持したいならライブラリの仕様に関わらず配列を使うべきだと思います。
ハッシュキーの順番が維持されることを期待してはいけないので、順番を保持したいならライブラリの仕様に関わらず配列を使うべきだと思います。
最後に編集したユーザー h2so5 on 2013年7月15日(月) 21:15 [ 編集 1 回目 ]