YSONはYSON - Simple Object Notationの略で、シンプルなデータシリアライゼーションフォーマットを目的にしたフォーマットです。
YSONはJSONと比較して冗長な構文の要素を削減しています。
実態に以下のYSONは316個のシンボルからできあがっている一方で、
name Luke Skywalker
height 1.72
hair_color Blond
birth_year 19 BBY
gender Male
homeworld http://swapi.co/api/planets/1/
films
http://swapi.co/api/films/1/,
http://swapi.co/api/films/2/,
http://swapi.co/api/films/3/,
species
http://swapi.co/api/species/1/,
father
name Darth Vader
height 2.02
hair_color
それと同等のJSONは437個のシンボルで表現できています。
{
"name": "Luke Skywalker",
"height": 1.72,
"hair_color": "Blond",
"birth_year": "19 BBY",
"gender": "Male",
"homeworld": "http://swapi.co/api/planets/1/",
"films": [
"http://swapi.co/api/films/1/",
"http://swapi.co/api/films/2/",
"http://swapi.co/api/films/3/"
],
"species": [
"http://swapi.co/api/species/1/"
],
"father": {
"name": "Darth Vader",
"height": 2.02,
"hair_color": null
}
}
JSONとYSONを比較すると以下のような違いがあると分かります。
- 文字列を囲むクォートが存在しない
- キーバリューの区切りが
:
ではなく空白 - キーバリューのバリューがnullの場合はキーのみを記載する
- 配列の要素区切り文字は
,
で、オブジェクトの要素区切り文字は改行
出展: