保存数据:JSON或数据库?

问题描述:

在我制作的html/css/js浏览器游戏中,我确定我最终需要保存功能。我之前使用过数据库保存数据,但我的其他编码朋友推荐使用JSON。哪种方法更好?更高效?更轻松?保存数据:JSON或数据库?

只有少数字符串和大多数小整数正在保存。一些面向对象的编程被使用。

感谢您的任何反馈意见。

您选择的一部分将取决于您关心的用户可以访问保存数据的多少,以及真正的游戏首先是什么。

对于这个问题,json或xml是很好的保存格式,您可以将所有信息转储并稍后轻松读取。但是,如果您将它保存在本地计算机上,用户显然可以访问它。

同样在本地存储的东西意味着你不依赖网络任何东西总是很好,除非你的游戏已经依赖于网络。

如果你有任何在线播放本地保存数据在大多数情况下显然是不好的。 反对它取决于你的游戏在做什么。

最后,运行中使用本地保存的东西要快得多。而且由于代理服务器或任何阻止他们获取其保存数据的用户而担心有网络问题的用户就更不用说了。

我会说本地存储与json/xml更有效/更容易。但缺点是它不太安全,容易被意外删除/损坏(这就是为什么许多蒸汽游戏具有本地保存功能而且还有云备份)。

JavaScript Object Notation(http://www.json.org/)是一种轻量级的数据交换格式。这不是存储数据的格式!使用JSON在您的服务器和客户端之间传递数据,但将数据存储在适当设计的表格中,并存储在许多可用的数据库之一中。如果你有一些字符串和整数,只需创建一个简单的表。将JSON作为字符串存储在数据库中是*!

+1

警告:有些情况下存储序列化数据非常合理。 –

+1

这是误导。是的,JSON是一种交换格式。 (它也编码一个有效的JavaScript表达式,这是它存在的理由。)但是,存储在表中而不是存储字符串是一种错误的选择。 OP的职位正在尝试存储文档。 SQL没有强大的文档层次概念 - 该需求是通过外键和应用程序逻辑间接实现的。 在这种情况下,接受和检索JSON的NoSQL存储是一个很好的解决方案,特别是当应用程序是基于JS时。这并不意味着数据库正在存储一个JSON字符串。 –

Porquéno los dos? 您是否在寻找本地保存或云端保存?对于本地保存,请使用IndexedDB。

https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

您可以在其中存储JSON文件。

对于云保存,请使用本机支持的JSON存储(如MongoDB或CouchDB)。 CouchDB是以最少配置将JSON存储直接展示给广域网的不错选择。