首页 > 解决方案 > 数组内的 TOML 多级表语法——非法与否

问题描述

我在使用 Python 和 JS 解析器进行解析时看到错误。我似乎无法在 TOML 存储库中找到一个关于是否应该接受的示例:

[[somearray]]
one.two = false # fails, '.' not allowed in key

我知道我可以这样表达:

[[somearray]]
   [somearray.one]
   two = false # OK

TOML 自述文件提供了这个示例(以及其他示例):

[fruit]
apple.color = "red"
apple.taste.sweet = true

它不涉及数组,但似乎使这种语法合法化。

我还观察到一个包含以下内容的普通文件:

apple.color = "red"

被拒绝。总之,在您进入带有实际括号表格的“表格模式”(可以说)之前,键只能是单键。

现在再次,在TOML 自述文件中它说(尽管在表格部分):

“虚线键将每个点左侧的所有内容定义为表格。”

显然,如果主流解析器对此感到窒息,那么使用它不是一个好主意,但我想了解它是否/为什么它是一个已知的禁忌。这里有一些我没有看到的歧义吗?

标签: toml

解决方案


根据 1.0 规范,这些案例被确认为有效的 TOML,它添加了更多示例:https ://github.com/toml-lang/toml/blob/1.0.0/toml.md


推荐阅读