代码之家  ›  专栏  ›  技术社区  ›  Topher Fangio

我应该使用from\ xml还是from\ json来导入对象?

  •  1
  • Topher Fangio  · 技术社区  · 14 年前

    我现在有一个PHP应用程序,我将在Rails中重写它。我的想法是慢慢地用Rails替换所有PHP功能,所以两者都需要并行运行(我想我已经解决了这一部分)。

    现在,我们的每个客户机都有一个单独的数据库,事实证明,如果我们能够在客户机之间导入/导出某些对象(基本上为它们设置一些默认对象或以类似社区的方式共享它们),那将是非常棒的。

    所以,我的想法是,这是Rails集成的一个很好的起点,特别是因为它有如下方法 from_xml from_json . 我的问题是:在这两个问题中,你认为哪一个更好?我想听听从向后兼容性、可靠性、速度等方面的观点。

    非常感谢!

    1 回复  |  直到 14 年前
        1
  •  4
  •   LarsH    14 年前

    这里有一些 comparisons between XML and JSON .

    聪明人说过:

    我自己的想法:

    • 通常JSON较小,但这取决于JSON和XML结构设计的好坏(例如,由人工或代码生成)。带宽对你有多重要?如果您使用 on-the-fly compression ,如果带宽很重要的话,你应该这样做。
    • XML提供了更多的验证支持(例如DTD、XMLSchema、RelaxNG等),尽管JSON正在迎头赶上。您需要什么样的数据验证?
    • 从上面的比较来看,解析JSON似乎比解析XML更快。如果您有大型数据集,这一点很重要。
    • 灵活性:像外部实体和ID类型一样,XML提供了JSON所没有的功能,如果不需要的话可以忽略它。可能会降低可移植性,因为并非所有XML解析器都必须支持这些功能。
    • 易于处理:两者都是相似的。尽管你 可以
    • JSON是为javascript设计的,非常适合访问数据片段。如果可移植到其他语言是一个因素,那么JSON的便利性就会降低,尽管现在大多数语言都有JSON接口。XML更不依赖于平台:大多数语言都有XML的DOM接口,或者更好的XPath接口(例如。 jQuery ,dojo)。
    • 可扩展性(我认为这与你所说的向后兼容是一致的):如果设计成这样的话,它们都是可扩展的,例如使用命名的属性/元素/属性而不是位置。
    • 可靠性:我看不出有什么区别。