任何人都可以建议一个
JSON解析器,允许任何类型的注释,使用
PHP绑定 – 需要对配置文件的严重错误,但json_decode不支持它们.
(我知道:1.其他格式如YAML,2.评论不是标准的一部分)
更新:
为什么我们不用:
> YAML:基准测试表明它更慢 – 我们可能希望通过电线发送数据 – 不知道YAML是否最适合.
> XML:太冗长 – 简单的人工编辑是一个要求.而且不需要XML的扩展功能.
INI:数据中存在可变深度的层次结构和嵌套.而且我们需要一个无所不在的格式,因为数据可能与应用程序一起分发或与其他语言的应用程序一起工作.
>预处理:数据可以由用户贡献和共享,很难在将数据添加到应用程序之前强制要求进行预处理.
如果您需要可移植性,并且不希望任何预处理来修复非标准组件,则YAML可能是要走的路.
大多数(如果不是全部)JSON与YAML兼容(YAML是JSON的超集),它支持评论.
对于最近的一个项目,我觉得需要离开.ini为我们的“默认设置”文件 – 以便我们不再需要将一些字符串转换为整数或布尔值(因为parse_ini_file解析值为字符串,foo = 1或foo = true都是字符串值).
JSON似乎是一个很好的格式,但它不支持评论.但是,如果你想做这个工作,我建议不要完全实现(或使用)一个单独的JSON解析器.我所做的是创建一个简单的包装器函数,用正则表达式删除注释,然后使用本机json_decode.