YAMLとJSONの違いは何ですか?質問する

YAMLとJSONの違いは何ですか?質問する

特に以下の点を考慮すると、YAML と JSON の違いは何ですか?

  • パフォーマンス(エンコード/デコード時間)
  • メモリ消費量
  • 表現の明瞭さ
  • ライブラリの可用性、使いやすさ(私はCを好みます)

組み込みシステムで構成ファイルを保存するには、これら 2 つのうちのいずれかを使用する予定でした。

ベストアンサー1

技術的には、YAML は JSON のスーパーセットです。つまり、少なくとも理論上は、YAML パーサーは JSON を理解できますが、その逆は必ずしもできません。

公式仕様については、「YAML: JSON との関係」

一般的に、JSON にはない、YAML で気に入っている点がいくつかあります。

  • として@jdupontが指摘したYAMLは視覚的に見やすいです。実際、YAMLホームページそれ自体は有効な YAML ですが、人間が読むのも簡単です。
  • YAML には、「アンカー」を使用して YAML ファイル内の他の項目を参照する機能があります。したがって、MySQL データベースにあるようなリレーショナル情報を処理できます。
  • YAML は、JSON や XML などの他のシリアル化形式をYAML ファイル内に埋め込む点においてより堅牢です。

実際には、これら最後の 2 つのポイントは、あなたや私が行うことにはおそらく重要ではありませんが、長期的には、YAML がより堅牢で実行可能なデータ シリアル化形式になると思います。

現在、AJAX やその他の Web テクノロジーでは JSON が使用される傾向にあります。YAML は現在、オフライン データ処理でより多く使用されています。たとえば、C ベースの OpenCV コンピューター ビジョン パッケージにはデフォルトで含まれていますが、JSON は含まれていません。

JSONとYAMLの両方のCライブラリが見つかります。YAMLのライブラリは比較的新しいものですが、これまで問題はありませんでした。例えば、ヤムル-cpp

おすすめ記事