Php JSON与XML的性能考虑

Php JSON与XML的性能考虑,php,javascript,xml,json,Php,Javascript,Xml,Json,我正在使用一个webservice,它以XML或JSON格式提供一个大型结果集。 哪种格式更快或更好(基于性能)?我还应该使用哪种语言来解析XML/JSON?我应该使用PHP还是JavaScript?您应该使用python,最好是:) 至于格式,我想JSON会快一点,但这取决于细节,而且这项任务无论如何都是网络限制的。提供“PHP或JavaScript”听起来很奇怪:PHP通常用作服务器端语言,而JavaScript通常用作客户端语言 你的情况如何?你为什么特别推荐这两种语言?如果你能提供更多关

我正在使用一个webservice,它以XML或JSON格式提供一个大型结果集。
哪种格式更快或更好(基于性能)?我还应该使用哪种语言来解析XML/JSON?我应该使用PHP还是JavaScript?

您应该使用python,最好是:)

至于格式,我想JSON会快一点,但这取决于细节,而且这项任务无论如何都是网络限制的。

提供“PHP或JavaScript”听起来很奇怪:PHP通常用作服务器端语言,而JavaScript通常用作客户端语言

你的情况如何?你为什么特别推荐这两种语言?如果你能提供更多关于你想做什么的信息,那将非常有帮助。(我们不知道您是否正在开发web应用程序、批处理工具、GUI应用程序等)

我怀疑JSON会比XML更紧凑一些,尽管如果他们压缩数据,你可能会发现他们最终会使用相同的带宽(因为XML的许多“膨胀”很容易压缩)


与以往一样,最好的方法是使用一些实际数据测试特定的web服务。概括性不是决策的良好基础。

我会选择JSON,你不需要支付“角度括号税”。PHP和Javascript之间的选择与数据所需的处理量有关(我在这里做了一个飞跃)


大量的处理,使用PHP使其成为服务器端。小处理使用Javascript实现更快速响应的页面(通过AJAX加载数据)。

两者都有各自的优势:

JSON

  • 易于处理:
    $dataStructure=JSON_decode($serializedString),完成
XML

  • 部分数据处理:如果您的结果集太大,无法立即处理(解析),这可能是一种方法。注意:SimpleXML更易于使用xml库,但同时也解析整个xml文件,因此在这种情况下,JSON没有任何好处
用哪种语言来处理结果集的问题有点不合情理。javascript是客户端*,php是服务器端。因此,这取决于您想对结果集做什么

您可以将结果直接传递到browser/js,而无需在服务器端执行任何操作,并让客户端执行过滤和渲染。这在某些情况下可能有意义,但通常不是你想要的

我的建议:如果可能,请使用JSON


ad*:您可以在服务器端(,…)使用javascript,但这不是您想要的。

我认为您必须自己测量它。性能将取决于:

  • 数据的大小
  • 数据的复杂性
  • 其格式(JSON或XML)
  • 所以你可以看到有很多变量

    您使用的web服务是否需要更长的时间以一种格式组装数据

    解析JSON和XML有相当多的选项,所以不要局限于PHP或Javascript(如果您有选择的话)。最后,如果您是从Web服务请求,那么您将有网络传输成本、连接设置等开销。因此,解析性能方面的任何时间节省都可以忽略不计。你的努力最好花在别处


    我想我没有回答你的问题,只是给了你更多的思考

    尽管语言/工具组合之间的性能方面确实存在很大差异,但最终,当使用平台上最好的工具时,xml和json往往具有相似的性能特征。也就是说,你找不到比这快两倍或更多的;文本格式的理论限制类似。在这方面,对于几乎任何用例,两者都“足够好”

    因此,对于您的任务,我将更加关注工具支持。除此之外,格式选择不太可能是最重要的考虑因素。
    就像Jon提到的,PHP和Javascript的比较听起来很奇怪。。。苹果和桔子之类的东西。

    有一点可能被忽略了,那就是JavaScript客户端不必解析JSON,因此您将在性能上获得胜利。浏览器将把XML解析成DOM并将其交给回调函数,然后您需要从该DOM中提取所需的信息。有了JSON,您就可以返回一个对象,不再需要从DOM中提取数据了。

    如果您将应用程序与ajax一起使用,那么您应该选择Javascript在客户端处理数据,这将减少服务器上php的使用,这意味着服务器端的效率更高。您可以将结果集存储在json文件中,然后使用javascript在客户端调用它。这将是最好的方式,因为这不会消耗您在服务器上的资源,数据将在客户端处理。在这里,我将优先考虑json而不是xml,因为xml比json占用更多的存储空间,因为它的标记样式,而json就像javascript中的数组,比xml更快。同样,在服务器端,您可以轻松地将json数组转换为php数组(只需参考php中的json_解码函数)

    现在json很流行,因为它易于使用且速度更快


    为了提高性能,您应该减少服务器端的数据处理,而应该使用客户端资源。这种方法将提高应用程序的速度和成本效益。

    我正在开发一个网站,它使用健康服务api来显示结果……因此,您将从web上调用web服务服务器,对吗?您需要如何将结果发送给客户?如果您想将它们格式化为HTML,那么您需要从web服务器用任何语言解析响应。我不建议将web服务调用的结果直接传递给客户端,并让浏览器解析它。。。我会很惊讶的