Help us understand the problem. What is going on with this article?

【目的無しの泥臭調査④】主なデータフォーマットについて、把握する。

More than 1 year has passed since last update.
  • ふと気になったことを、淡々と赴くままに調査していく、この上ない自己満足記事第四弾。
  • 四回目にして、「この快楽行為は際限なく続いてしまう」と、全てを悟ってしまった、生粋のさとり世代は、「とことんこの山道を登りきる」という、更に悟りを重ねる始末。
  • 今回は、前から知りたかった各データフォーマット調査をしてみよう。

調査対象

  • JSON
  • XML
  • YAML
  • TOML

JSON

  • JavaScriptベース表記の軽量データ記述言語。

書き方

{
  "name": "hanako",
  "age": 3,
  "job" : "baby"
}

特徴

  • PythonやPHP等、多数の言語との親和性が高く、汎用的。
  • 構造をシンプルに記述できる。
  • テキストベース
  • 文字コードはUTF8が必須。
  • コメント書けない

事例

  • 各種API
  • JS関連ライブラリ

XML

  • データ構造化マークアップ言語。

書き方

<users>
  <user>
      <name>hanako</name>
      <age>3</age>
  </user>
  <user>
      <name>taro</name>
      <age>2</age>
  </user>
</users>>

特徴

  • 新しくタグや属性を定義・使用可能
  • システム間のデータ交換が容易
  • データの再利用性が高い

事例

  • RSS
  • Office Open XML

YAML

  • データ構造やオブジェクト表現のための設定言語。

書き方

user:
 - name: hanako
   age: 3
   job:
    - baby
    - heroine

 - name: taro
   age: 2
   job:
    - baby
    - hero

特徴

  • 記法がシンプルで、可読性も高い
  • コメントが書ける
  • テキストベース
  • 終了タグが必要ない

事例

  • Ruby on Rails
  • Ruby関連ファイル

TOML

  • 最小限の明瞭設定言語。

書き方

title = "hello"

[owner]
name = "hanako"
age = 3

[database]
server = "80.80"
ports = [ 80, 81, 82 ]

特徴

  • 読みやすい
  • 明確に設計されている。
  • 多様な言語に対応
  • コメントが書ける

事例

  • GitLab
  • pip
  • vim

まとめ

  • 今回は主なデータフォーマット調査ということで、各々の「取り柄・長所・特技・欠点」等を、資格すらももらえない「親の気分」で把握していく、まごころ作業。
  • この変遷は、「人間にもコンピュータにも分かりやすく、読みやすく」という「開発者達の愛情と熱意の歴史でもある」という、未来永劫似合わない感情に浸る。
  • 今後の、「愛溢れる新たなデータ形式」への開発にいそしんでいる開発者達に敬意を示しながら、またひそひそ調査生活を過ごすことにしよう。

参考

t_o_d
沖縄在住。 よろしくお願いいたします。
https://r-p.vercel.app/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away