2010-08-23 69 views
1

我目前有一个PHP应用程序,我将在Rails中进行重写。我的想法是用Rails慢慢取代所有的PHP功能,所以两者都需要并行运行(我想我已经弄清楚了这部分内容)。我应该使用from_xml还是from_json来导入对象?

现在,我们每个客户端都有一个单独的数据库,事实证明,如果我们可以在客户端之间导入/导出某些对象(基本上为它们设置了一些默认对象或以类似社区的方式分享它们)。

所以,我的想法是,这是我Rails集成的一个很好的起点,尤其是因为它有像from_xmlfrom_json这样的方法。我的问题是:在这两个中,你认为哪一个更好?我希望从向后兼容性,可靠性,速度等角度听到争论。

非常感谢!

回答

4

这里有一些comparisons between XML and JSON

聪明的人所说的话:

我自己的想法:

  • 通常JSON是规模较小,但依赖于JSON如何并且XML结构被设计(例如通过人或代码生成)。带宽对你有多重要?如果您使用的是on-the-fly compression,那么尺寸就会小一些,如果带宽很重要的话,您应该这样做。
  • 虽然JSON正在迎头赶上,但XML有更多可用的验证支持(例如DTD,XML Schema,RelaxNG等)。你有什么需要进行数据验证?
  • 从上面的比较看来,解析JSON比解析XML更快。如果您有大量数据集,这很重要。灵活性:XML提供像JSON一样的外部实体和ID类型的花里胡哨的声音。如果你不需要它,请忽略它。可以降低可移植性,因为并非所有的XML解析器都必须支持这些功能。
  • 易于处理:两者相似。虽然你可以用解析JavaScript的eval(),但它不可靠和不安全。所以这两种格式都需要库调用来解析数据。
  • JSON是为javascript制作的,适合像手套一样,尤其适用于访问数据片段。如果其他语言的可移植性是一个因素,JSON的便利性会降低,尽管现在大多数语言都有JSON接口。 XML更多地与平台无关:大多数语言都有XML接口的DOM接口,或者更好的是XPath接口(例如jQuery,dojo)。
  • 可扩展性(我认为它符合您向后兼容性的含义):如果设计为这种方式,两者都是可扩展的。通过使用命名的属性/元素/属性而不是位置。
  • 可靠性:我没有看到明显的差异。

涉及到这个话题有点像tip手into脚进入雷区。我试图公平地表达。披露:我倾向于成为一名XML粉丝,尽管在某些情况下我也使用JSON。这绝对是两个地方。欢迎对上述意见不同的意见......请以事实支持他们,不要发牢骚。我确定很多人都知道这个话题比我多。

相关问题