LoginSignup
5
5

More than 1 year has passed since last update.

JSON と YAML の対応データ型の比較メモ

Last updated at Posted at 2017-03-27

JSON には日時型が無いため、任意の日時形式の文字列や Unix time の整数型で表現したりします。

一方 YAML の方は日時型に対応していることを知り衝撃を受けたので、対応するデータ型の違いを比較してみました。

対応データ型の比較表

YAML は JSON のスーパーセット のため、JSON で表現できるものは基本的に全て YAML でも表現出来ます。

型名 Type name YAML JSON 値の例
文字列 string "apple"
整数 integer 123456
浮動小数点 float 123.456
真偽値 boolean true, false
Null値 null null
配列 array (sequence) ["value1", "value2"]
オブジェクト object (map) {"key": "value"}
タイムスタンプ timestamp 2002-12-14
2002-12-14 10:00:00

上記に記載した型は全てではありません。
YAML で表現できる全ての型を知りたい場合は以下も参照してみてください。

タイムスタンプ型の YAML 記述例

canonical:        2001-12-15T02:59:43.1Z
valid_iso8601:    2001-12-14t21:59:43.10-05:00
space_separated:  2001-12-14 21:59:43.10 -5
no_time_zone:     2001-12-15 2:59:43.10
no_time:          2002-12-14

特徴を掻い摘むと、

  • 秒の少数まで指定できます。
  • タイムゾーンの指定もできます。省略すると UTC と見なされます。
  • 時刻以降の部分を省略すると 00:00:00 UTC と見なされます。

といった感じです。

詳しくは YAML の Timestamp 型の仕様書(原典) を参照するのが最も正確でしょう。

尚、日時形式の文字列をダブルクォーテーションで囲むと普通に文字列型として扱われます。

参考

5
5
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
5
5