На главную

Данные и форматы

INI и JSON

Конфиги в стиле php.ini, .gitconfig и systemd — в объект и обратно.

JSON

{
  "name": "Витрина",
  "debug": false,
  "server": {
    "host": "0.0.0.0",
    "port": 8080
  },
  "remote": {
    "origin": {
      "url": "git@example.com:a/b.git",
      "fetch": [
        "+refs/heads/*",
        "+refs/tags/*"
      ]
    }
  }
}

Что понимает разбор

  • Комментарии с «;» и «#», в том числе в конце строки — но не внутри кавычек.
  • Разделителем считается и «=», и «:» — как в юнитах systemd.
  • Ключ с «[]» и просто повторяющийся ключ собираются в список.
  • Секции с точкой раскладываются во вложенные объекты, как в .gitconfig.