ASP / PHP的跨平台平面文件数据存储

时间:2013-10-16 09:57:32

标签: php asp.net xml json yaml

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

我宁愿避免使用外部库。我希望我的应用程序基本上可以自包含在一个文件中。

平面文件最普遍接受的格式是什么?例如,我知道PHP5可以在没有任何额外功能的情况下处理JSON,但在ASP.NET中我需要安装JSON.NET。

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

1 个答案:

答案 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不是一个平面文件,但它是一个存储数据的单个文件,因此它非常接近简短的