【问题标题】:Create new line on TOML file在 TOML 文件上创建新行
【发布时间】:2021-04-24 23:18:32
【问题描述】:

我正在尝试理解 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"
    }
  ]
}

正如您所见,开发者嵌套在第二个对象中。但我需要 root 中的开发人员。

我使用这个网站来验证 TOML TOML Parser

预期结果

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

【问题讨论】:

    标签: toml


    【解决方案1】:

    不保证 Toml 表中的键/值对按任何特定顺序排列。 在根表中获取 'developer' 的方法是将其放在表的 'servers' 数组之前:

    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 结构。

    【讨论】:

    • 感谢您的努力。不幸的是,我不想接触 3rd 方库。于是在我的js文件中又写了一段代码重新排列解决。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-17
    • 2016-09-10
    • 1970-01-01
    相关资源
    最近更新 更多