【総集編】Markdown・JSON・CSV…「データ形式」の違いを一気に整理

 「.md」「.json」「.csv」といったファイルの種類を、目にしたことはあるでしょう。
 でも「何が違うのか」「誰がそのルールを決めているのか」までは、意外と知られていません。

 この記事では、ルールを定めている団体の公式資料だけを根拠に、よく使われる6つの形式の違いを、できるだけやさしく整理します。

先に押さえる3つの言葉

言葉意味
データ形式情報を、ファイルの中にどう書くかの決まりごと。
日本語の「書式」に近い
仕様(しよう)その決まりごとを細かく書いた文書。
仕様がしっかりしているほど、別のソフトでも同じように読める
RFC(アールエフシー)インターネットの技術ルールを公開している文書。
IETFという団体が発行している。
「標準」として決められたものと、「参考情報」として載せただけのものがある

この記事に出てくるW3Cは、Webの技術の標準を決めている団体です。

6形式の早見表

形式ひとことで言うとルールの位置づけ
Markdown文章の見出しや箇条書きを、記号だけで書く書き方全員が従う一つの公式ルールはない。
いくつかの流派(方言)がある [M1][M2]
JSONソフトやシステム同士が、データをやり取りするための形式RFC 8259で、インターネットの標準として決められている [J1]
CSV表のデータを、カンマで区切って並べる形式RFC 4180はあくまで「参考情報」。
公式な標準はない [C1]
YAML人が読みやすいように作られた、データの書き方YAML 1.2.2という仕様がある [Y1]
TOML人が読みやすい、設定ファイル用の形式TOML v1.0.0という仕様がある [T1]
XMLタグで文書やデータの構造を示す形式W3Cが公式に推奨する仕様(勧告)がある [X1]

選び方の目安

  • 人が読み書きする文章:Markdown
  • ソフト同士のデータのやり取り:JSON
  • Excelなどの表データのやり取り:CSV
  • 人が手で編集する設定ファイル:YAMLまたはTOML
  • 文書の構造を厳密に示したいとき、またはXMLを前提にした仕組みとつなぐとき:XML

注記:この目安は、各仕様が掲げている目的を、私が整理したものです。
   仕様書がこの使い分けを指定しているわけではありません。
   実際には、使うソフトや相手のシステムが対応している形式に左右されます。

「ルールの厳しさ」は形式ごとにかなり違う

 JSONとXMLは、標準化団体がきちんと決めた規格です。

 一方、CSVは「みんなが使っている書き方」を後から文書にまとめたもので、Markdownは最初から「流派がある前提」の書き方です [J1][X1][C1][M2]。
 そのため、「同じ拡張子なら、どのソフトでも同じ動き」とは限りません。ここが、思わぬトラブルの出どころになりがちです。

読み進め方

  • Markdownの「流派」という考え方 → 詳細①
  • JSONでつまずきやすい点(コメント、数字、文字コード) → 詳細②
  • CSVの書き方のルールと、ソフトごとの違い → 詳細③
  • YAML・TOML・XMLの得意分野の違い → 詳細④

参照元

[M1] CommonMark Spec — https://spec.commonmark.org/

[M2] IETF, RFC 7763: The text/markdown Media Type — https://www.rfc-editor.org/rfc/rfc7763

[J1] IETF, RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format — https://datatracker.ietf.org/doc/html/rfc8259

[C1] IETF, RFC 4180: Common Format and MIME Type for CSV Files — https://datatracker.ietf.org/doc/html/rfc4180

[Y1] YAML Ain’t Markup Language (YAML) version 1.2.2 — https://yaml.org/spec/1.2.2/

[T1] TOML v1.0.0 — https://toml.io/en/ [X1] W3C, Extensible Markup Language (XML) 1.0 (Fifth Edition) — https://www.w3.org/TR/xml/

コメント

タイトルとURLをコピーしました