繁体   English   中英

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

[英]Cross-platform flat-file data storage for ASP/PHP

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

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

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

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

为此,我研究了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,但JSON.NET是一个出色的,有据可查的插件,而nuget使其可以轻松安装在任何项目上。

我很想使用YAML,因为它的可读性很强,但是它需要两种语言的库,而且它们的文档记录也很少。

* 简介用于平面文件存储。 尽管SQLite不是平面文件,但它是一个用于存储数据的单个文件,因此它与简短内容非常接近

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM