【TOML】TOML

■ はじめに

JSON がきて、YAML がきて、もーこれで終わりだと思ったら
今度、TOML がきた。
ので、メモする。

目次

【1】TOML
【2】公式ドキュメント
【3】基本構造
【4】サンプル
【5】ツール:TOML to JSON

【1】TOML

* TOML = "Tom's Obvious, Minimal Language (トムの明瞭で、最小の言語)
 => Tom Preston Werner(トム・プレストン・ワーナー)さんが作った言語
* 読み方は、「トムル」??

【2】公式ドキュメント

https://toml.io/en/v1.0.0

* 有志なのか、以下、日本語訳。めちゃくちゃ分かりやすい

https://toml.io/ja/v1.0.0-rc.2

【3】基本構造

TOMLの構文は、大部分が以下の3種類。

1)キーと値の組 (key = "value")
2)[テーブル名] ([[インラインテーブル]])
3)# コメント

【4】サンプル

# This is a comment

title = "TOML Example"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # date type

[database]
server = "127.0.0.1"
ports = [ 8080, 8081, 8082 ]
connection_max = 5000
enabled = true

[servers]

  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

hosts = [
  "alpha",
  "omega"
]

# テーブルの配列
# 
[[table_array]]
key1 = "value1"

# Jsonなら、、、
# {
#   "table_array": [
#     {
#       "key1": "value1"
#     }
#   ]
# }

【5】ツール:TOML to JSON

https://www.convertsimple.com/convert-toml-to-json/

1)実験コード1

[test]
name="Hello"

[[test.val1]]
name="World"

JSON

{
  "test": {
    "name": "Hello",
    "val1": [
      {
        "name": "World"
      }
    ]
  }
}

2)実験コード2

[test]
name="Hello"

[test.val1]
name="World"

JSON

{
  "test": {
    "name": "Hello",
    "val1": {
      "name": "World"
    }
  }
}

参考文献

https://ja.wikipedia.org/wiki/TOML
https://qiita.com/minoritea/items/c0de47b8beb813c655d4
HugoのTomlの書き方-プログラミングを中心に、現役web系エンジニアが興味を持ったことを徒然と書いていきます
tomlを使ってみよう – 冒険島MAGAZINE

関連記事

YAML (YAML Ain't Markup Language)
https://dk521123.hatenablog.com/entry/2019/10/13/000000
Scala ~ TOML ~
https://dk521123.hatenablog.com/entry/2023/10/08/232146