将JSON存储在磁盘上是不是很糟糕?

时间:2009-09-22 01:50:46

标签: javascript xml json

大多数情况下,我刚刚使用XML文件存储配置信息并提供基本数据持久性。现在我正在建立一个网站,我需要存储一些XML类型的数据。但是我已经在整个事情中广泛使用JSON。直接存储JSON而不是XML是不好的,或者我应该存储XML并引入XML解析器。

6 个答案:

答案 0 :(得分:8)

一点也不差。虽然有更多的XML编辑器,但如果您需要手动编辑文件,XML可能会更好。

答案 1 :(得分:8)

使用XML和JSON之间的区别是:

  • 更容易找到支持编辑XML的好方法的编辑器。我知道没有编辑为JSON做这个,但我希望可能会有一些:)

  • 极端的可移植性/互操作性 - 不是所有本身可以读取JSON,而现在几乎任何语言/框架都有XML库。

  • JSON占用的空间更少

  • JSON的处理速度可能更快,特别是在JavaScript应用中,它是原生数据。

  • JSON对于程序员来说更具人性化(这是主观的,但我认识的每个人都同意这一点)。

现在,请注意常见的主题:一旦将JSON存储为XML有效负载,使用上面列出的纯XML的任何好处都会立即100%丢失。

因此,gudelines如下:

  • 如果广泛的互操作性是一个问题,并且您谈到了无法读取JSON的内容(如可以本地读取XML的数据库),请使用XML。

  • 否则,我建议使用JSON

  • 永远不要使用JSON作为XML有效负载,除非由于现有的协议需要而必须使用XML作为传输容器,与网络/存储丢失相比,向/从XML编码和解码JSON的成本在某种程度上高得惊人由于双重编码(我有一个很大的麻烦想象这样一个看似合理的场景,但谁知道...)

更新:根据评论

中的信息删除了Unicode项目符号

答案 2 :(得分:3)

这只是数据,就像XML一样。没有什么可以阻止将它保存到磁盘。

答案 3 :(得分:2)

定义“坏”。它们都只是纯文本格式。把自己打昏。

答案 4 :(得分:2)

如果你将数据存储为缓存(意味着它是一种格式,你必须以编程方式处理它以“制造”它JSON。然后我说没问题。只要你的JSON的consumer读取本机JSON然后将缓存数据保存到磁盘或内存是标准做法。

但是,如果您在JSON中存储配置文件需要人工交互以“处理”,那么我可能会重新考虑。使用JSON进行简单的Key:值对很酷,但除此之外,格式可能过于紧凑(意味着嵌套{和[括号可能难以解密)。

答案 5 :(得分:1)

当存在深度嵌套时,JSON的一个潜在问题是可读性, 你可能真的看到]]]}],使调试变得困难