のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

よく利用されるデータ構造!(CSV,YAML,JSON,XML)

Sponsored Links

皆さんこんにちは
お元気ですか。私は元気です。

今日はデータ構造のお話を書こうと思います。
皆さんどんなデータ構造を利用していますか?

csv?、json、yaml?、xml?まぁ色々ありますよね!

CSV(comma-separated values)

Excelを使っている時に時々見る形式ですね。
名前の通り、commaを利用して分割している形式です。Excel以外では殆ど使ってるところ見たことないですが…。

名前,性別,住所
山田太郎,漢,東京都文京区
山田花子,女,東京都杉並区

一番上の行は項目を示しているヘッダーで、分割をカンマで行っています。
(C++で解析する分には一番ラクだと思った俺は負け組かな)

XML(Extensible Markup Language)

表示形式はこんな感じ

<?xml version="1.0" encoding="Shift-Jis" ?>
<list>
  <customer>
    <name>山田太郎</name>
    <gender>http://www.softbank.co.jp/</gender>
  </customer>

  <customer>
    <name>山田花子</name>
    <gender>http://www.rakuten.co.jp/info/</gender>
  </customer>
</list>

<>のタグによって囲む形式HTMLと似ていますね。これをパースして利用することが多いです。
時々、APIとして提供されていたりします。
ユーザーがタグの内容を指定できるのが便利ですよね。

JSON(JavaScript Object Notation)

記載の仕方がJavaScriptの辞書のような形式ですが、様々なプログラムによって使われています。
この形式でAPIを提供している企業が多い気がするのは気のせいでしょうか。

{"name": "John Smith", "age": 33}

辞書型のような形式で持っています。
上記の例の場合nameはJohn Smith,ageは33という意味です。

YAML

YAML Ain't a Markup Languageの意味を持つそうで、マークアップ言語じゃないよってことだそう。
これだけは使ったことがないのですが、ナウいデータ構造だそう。

使ったことはないのですが、一応記載しますね。

men: [John Smith, Bill Jones]
women:
  - Mary Smith
  - Susan Williams

例はWikipediaより

改行とかを使ってデータ構造を表現するそうです。JAVAだと型まで復元できるそうですね。素晴らしい。