Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存数据:JSON还是数据库?_Json_Database - Fatal编程技术网

保存数据:JSON还是数据库?

保存数据:JSON还是数据库?,json,database,Json,Database,在我正在制作的一个html/css/js浏览器游戏中,我决定最终需要有保存功能。我以前使用过数据库保存数据,但我的其他编码朋友建议使用JSON。哪种方法更好?更有效率?容易些 只有少数字符串和大部分小整数被保存。使用了一些面向对象的编程 感谢您的反馈。您的选择部分取决于您对用户访问保存数据的关注程度,以及您对游戏的关注程度 json或xml是很好的保存格式,您可以将所有信息转储到其中,并在以后轻松地将其读回。但是如果您将其保存在本地计算机上,用户显然可以访问它 另外,像这样在本地存储东西意味着你

在我正在制作的一个html/css/js浏览器游戏中,我决定最终需要有保存功能。我以前使用过数据库保存数据,但我的其他编码朋友建议使用JSON。哪种方法更好?更有效率?容易些

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


感谢您的反馈。

您的选择部分取决于您对用户访问保存数据的关注程度,以及您对游戏的关注程度

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

另外,像这样在本地存储东西意味着你不依赖于网络,除非你的游戏已经依赖于网络,否则一切都是好的

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

最后,在运行中使用本地保存的东西要快得多。而且,由于proxys或其他阻止用户获取保存数据的原因,用户不必担心网络问题


我想说,使用json/xml的本地存储更高效/更容易。但缺点是它不太安全,而且容易被意外删除/损坏(这就是为什么许多steam游戏都有本地保存和云备份)。

JavaScript对象表示法()是一种轻量级数据交换格式。它不是用于存储数据的格式!使用JSON在服务器和客户机之间进行数据通信,但将数据存储在适当设计的表中,这些表位于众多可用数据库中的一个。如果您有一些字符串和整数,只需创建一个简单的表。将JSON作为字符串存储在数据库中是一种亵渎

?你要什么? 您是在寻找本地保存还是云保存?对于本地保存,请使用IndexedDB

您可以在其中存储JSON文档


对于云存储,请使用本机支持的JSON存储,如MongoDB或CouchDB。CouchDB是一个很好的选项,可以将JSON存储直接暴露到WAN,只需最少的配置。

警告:在某些情况下,存储序列化数据是非常有意义的。这是一种误导。是的,JSON是一种交换格式。(它还编码一个有效的JavaScript表达式,这是它存在的理由。)但存储在表中与存储字符串是错误的选择。处于OP位置的用户正在尝试存储文档。SQL没有很强的文档层次结构概念,这种需求是通过外键和应用程序逻辑间接实现的。在这种情况下,接受和检索JSON的NoSQL存储是一个很好的解决方案,尤其是当应用程序基于JS时。这并不意味着数据库在后台存储JSON字符串。