2013-10-16 33 views
0

我正在开始一个ASP.Net/C#中的小型项目,它将来可能会移植到PHP和其他语言中。这个项目的设置在不同平台上都是相同的,但是可以由用户修改,所以我想将它们存储在平面文件中,如XML或JSON或YAML。用于ASP/PHP的跨平台平面文件数据存储器

我宁愿避免使用外部库。我希望我的应用程序基本上可以自成一体。

什么是最普遍接受的平面文件格式?例如,我知道PHP5可以处理JSON而无需任何附加功能,但在ASP.NET中,我需要安装JSON.NET。

是否有任何文件可以创建一个复杂的数据结构,其通用可读性,而不需要外部库?

回答

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是一个优秀的,有据可查的插件,nuget使它可以安装在任何项目上。

我很喜欢使用YAML,因为它只是非常可读,但它需要两种语言的库,并且它们都没有很好的文档记录。

* 本简介是用于平面文件存储。虽然SQLite不是一个平面文件,但它是存储数据的单个文件,因此它非常接近于简短的文件