Создать новую строку в файле TOML

Я пытаюсь понять структуру TOML и

[[servers]]
ip = "10.0.0.1"
role = "frontend"
[[servers]]
ip = "10.0.0.2"
role = "backend"

developer = "developer_name"

Если я проанализирую вышеизложенное, получу json как

{
  "servers": [
    {
      "ip": "10.0.0.1",
      "role": "frontend"
    },
    {
      "developer": "developer_name",
      "ip": "10.0.0.2",
      "role": "backend"
    }
  ]
}

Как видите, разработчик вложен во второй объект. Но мне нужен разработчик в корне.

Я использую этот веб-сайт для проверки TOML TOML Parser.

ожидаемый результат

{
      "servers": [
        {
          "ip": "10.0.0.1",
          "role": "frontend"
        },
        {
          
          "ip": "10.0.0.2",
          "role": "backend"
        }
      ],
      "developer": "developer_name"
    }

person Alaksandar Jesus Gene    schedule 20.01.2021    source источник


Ответы (1)


Не обязательно, чтобы пары ключ/значение в таблицах Toml располагались в определенном порядке. Способ получить «разработчик» в корневой таблице — поместить его перед массивом таблиц «серверы»:

developer = "developer_name"
[[servers]]
ip = "10.0.0.1"
role = "frontend"
[[servers]]
ip = "10.0.0.2"
role = "backend"

Это приведет к этой структуре Json:

{
    "developer": "developer_name",
    "servers": [
    {
        "ip": "10.0.0.1",
        "role": "frontend"
    },
    {
        "ip": "10.0.0.2",
        "role": "backend"
    }]
}

Этот небольшой пример также можно отформатировать с помощью встроенного массива:

servers = [{ip = "10.0.0.1", role = "frontend"}, {ip = "10.0.0.2", role = "backend"}]
developer = "developer_name"

Это приведет к той же структуре Json.

person alex-dl    schedule 02.02.2021
comment
Спасибо за попытку. К сожалению, я не хотел трогать стороннюю библиотеку. Поэтому написал еще один фрагмент кода в моем файле js, чтобы переставить и решить. - person Alaksandar Jesus Gene; 03.02.2021