问题描述
我正在尝试理解 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 表中的键/值对不保证按任何特定顺序排列。 在根表中获取 '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 结构。