1
0

More than 1 year has passed since last update.

シリアライズ言語の比較

Posted at

シリアライズとは

直列化を意味し、オブジェクトが持つデータをコンピュータが読み書きできるようにバイナリデータへ変換すること。
これによってデータをファイルとして保存したり、ネットワークで送受信できるようになる。
シリアライズ言語はシリアライズしたデータを表すためにフォーマット

シリアライズ言語

JSON

  • 「JavaScript Object Notation」の略で、「JavaScriptのオブジェクトのオブジェクトの書き方を元にしたデータ定義方法」のこと
  • 拡張子は「.json」
  • JavaScriptなどのクライアント言語とRailsなどのサーバサイド言語間のデータのやり取りで使用される。

基本の書き方

  • データのキーと値を{ }に中にコロン(:)で区切って記載。
  • 二つ以上のデータがある場合には、カンマで区切って記載
  • 文字列、数値、null、bool値、オブジェクト、配列のデータ型に対応。文字列のみダブルクォーテーションで囲む。
    例)
{
	[
	"id": 1,
	"name" : "taro",
	"address" : "tokyo"
	],
	[
	"id": 2,
	"name": "Hanako",
	"address": "kyoto"
	]
}

XML

  • 「Extensible Markup Language」の略で、「拡張可能なマークアップ言語」と訳される。
  • 拡張子は「.xml」
  • HTMLの記法を元にしたデータ定義方法で、データ定義言語と呼ばれる

基本の書き方

  • HTMLと同じように<要素名>内容要素名>で分ける
  • 要素名は自由に決めることができる
    例)
<?xml version="1.0" encoding="utf-8"?>  
<data>  
  <item>
    <id>1</id>
    <name>taro</name>
    <address>tokyo</address>
  </item>
  <item>
    <id>2</id>
    <name>hanako</name>
  </item>
</data>

CSV

  • 「 Comma Separate Values」の略で、「カンマで値を分ける」という意味
  • 拡張子は「.csv」
  • Excelで表示できる
  • データベースへのインポートやエクスポート、基幹システムへのアップロードやダウンロードで利用される

基本の書き方

  • カンマ(,)でデータを区切る
  • 改行で、データのレコードの区切り(データのかたまり)を表す
  • 先頭に記載される区切られたデータの項目名やタイトルをかく(データの利用者が内容を認識していれば必要なし)
    例)
id,name,address
1,taro,tokyo
2,hanako,kyoto

YAML

  • 「YAML Ain't Markup Language」の略。
  • 拡張子は「.yml」
  • 設定ファイルの記述に使用されることが多い。docker-compose.yml、config.ymlなど。

基本の書き方

  • データのキーと値をコロン(:)で区切って記載。
  • インデントによってデータの階層の構造(データのかたまり)を表現している
  • 文字列をシングルフォーテーション('')やダブルクォーテーション("")で囲む必要がない。
  • 行頭に-を入れることで配列として扱うことができる。この時-と値の間には半角スペースを開ける。
    例)
- id: 1
  name: taro
  address: tokyo
- id: 2
  name: taro
  address: kyoto

参考にさせていただいた記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0