我正在ASP.Net/C#开始一个小项目,将来很可能会移植到PHP和其他语言。该项目的设置在各个平台上都是相同的,但可以由用户修改,因此我想将它们存储在平面文件中,例如XML或JSON或YAML。
我宁愿避免使用外部库。我希望我的应用程序基本上可以自包含在一个文件中。
平面文件最普遍接受的格式是什么?例如,我知道PHP5可以在没有任何额外功能的情况下处理JSON,但在ASP.NET中我需要安装JSON.NET。
是否有任何文件可以创建一个普遍可读的复杂数据结构,而不需要外部库?
答案 0 :(得分:0)
我为此调查了YAML,JSON,XML和SQLite *。
<强> YAML 强>
优点:高度可读性。
缺点: 需要PHP和ASP.NET中的外部库
<强> XML 强>
优点:ASP.NET中广泛使用的本机支持
缺点: 需要PHP中的外部库,通过不正确关闭标签容易搞乱,占用比JSON和YAML更多的空间,不太可读
<强> JSON 强>
优点:占地面积小,本机支持PHP
缺点:ASP.NET中需要外部库
<强> SQLite的强>
优点:完整数据库,SQL查询支持
缺点:在ASP.NET和PHP中都需要外部库,没有第三方应用程序就无法查看
<强>答案:强>
基本上,JSON最接近我想要的。虽然它在ASP.NET中不是本机支持的,但JSON.NET是一个优秀的,记录良好的插件,而且它可以轻松地在任何项目上安装。
我很想使用YAML,因为它只是如此可读,但它需要两种语言的库,而且根本没有很好的文档。
* 简介是针对平面文件存储的。虽然SQLite不是一个平面文件,但它是一个存储数据的单个文件,因此它非常接近简短的