その他の言語
データ記述言語とは
Section titled “データ記述言語とは”プログラムを作るときに使う「プログラミング言語」とは別に、データをやり取りするための形式を定めた言語があります。これをデータ記述言語(データ記述形式)と呼びます。
たとえば、ある会社の販売管理システムと在庫管理システムが別々のプログラミング言語で開発されているとします。このとき、両者の間で商品データをやり取りするには、どちらのシステムでも読み書きできる「共通の形式」が必要です。データ記述言語は、このような異なるプログラム間でのデータ交換を実現するための仕組みです。
代表的なデータ記述言語(形式)には、JSON、CSV、XML があります。以下では、それぞれの特徴を見ていきましょう。
JSON(JavaScript Object Notation)
Section titled “JSON(JavaScript Object Notation)”JSON(ジェイソン)は、データをキーと値のペアで表現する軽量なデータ交換形式です。名前に「JavaScript」とついていますが、JavaScript以外のほとんどのプログラミング言語でも利用できます。
JSONでは、データを次のように記述します。
{ "name": "田中太郎", "age": 25, "department": "営業部"}この例では、"name" がキー(項目名)、"田中太郎" が値(データの中身)です。波括弧 {} でデータ全体を囲み、キーと値を : で結びます。
JSONの主な特徴は次のとおりです。
- 軽量でシンプル: 記述ルールが少なく、データのサイズも小さくなります
- 人間にも読みやすい: テキスト形式なので、目で見て内容を確認できます
- Web APIで広く利用: インターネット上のサービス同士がデータをやり取りする際に、最も多く使われている形式です
たとえば、天気予報のWebサービスに「東京の今日の天気を教えて」とリクエストすると、JSONの形式で「晴れ、最高気温25度」といったデータが返ってきます。スマートフォンのアプリはこのJSONデータを受け取り、画面に天気情報を表示します。
試験で出るポイント
CSV(Comma Separated Values)
Section titled “CSV(Comma Separated Values)”CSV(シーエスブイ)は、データをコンマ(,)で区切って並べるテキスト形式です。「Comma Separated Values」の名前のとおり、値をコンマで分離(Separate)して記述します。
同じ社員データをCSVで表現すると、次のようになります。
name,age,department田中太郎,25,営業部1行目が項目名(ヘッダ)、2行目以降が実際のデータです。表計算ソフト(Excelなど)で開くと、コンマの位置でセルに分かれて表示されるため、表計算ソフトとの親和性が高いのが大きな特徴です。
CSVの主な特徴は次のとおりです。
- 構造がとてもシンプル: コンマで区切るだけなので、誰でも簡単に作成・編集できます
- ファイルサイズが小さい: 余分な記号がほとんどないため、大量データの保存に向いています
- 表計算ソフトで直接開ける: ExcelやGoogleスプレッドシートなどで、そのまま表として扱えます
一方で、CSVにはデータの階層構造(入れ子のデータ)を表現しにくいという弱点があります。たとえば「社員の情報の中に、複数の資格情報を含める」といった複雑なデータ構造は、CSVでは扱いにくくなります。
XML(Extensible Markup Language)
Section titled “XML(Extensible Markup Language)”XMLについては「マークアップ言語」のページで詳しく解説していますが、ここではデータ記述言語としての側面を簡単に紹介します。
XMLは、タグを使ってデータに意味づけを行う形式です。同じ社員データをXMLで表現すると、次のようになります。
<employee> <name>田中太郎</name> <age>25</age> <department>営業部</department></employee><name> のような開始タグと </name> のような終了タグでデータを囲むことで、「これは名前です」という意味を持たせます。タグを入れ子にすることで、階層構造(ツリー構造)のデータを表現できるのが強みです。
ただし、タグの記述が多くなるぶん、JSONやCSVに比べてファイルサイズが大きくなりやすく、記述もやや冗長になります。
JSON・CSV・XMLの比較
Section titled “JSON・CSV・XMLの比較”3つの形式を比較すると、それぞれに得意・不得意があることがわかります。
| 項目 | JSON | CSV | XML |
|---|---|---|---|
| 形式 | キーと値のペア | コンマ区切り | タグで囲む |
| 可読性 | 読みやすい | 読みやすい | やや読みにくい |
| データサイズ | 小さい | 最も小さい | 大きくなりがち |
| 階層構造 | 表現できる | 表現しにくい | 表現できる |
| 主な用途 | Web API、設定ファイル | データの一括入出力、表計算 | 設定ファイル、文書構造の記述 |
同じ「田中太郎さん、25歳、営業部」というデータでも、形式によって書き方が大きく異なります。どの形式を選ぶかは、用途やデータの複雑さによって決まります。
試験で出るポイント