Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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或XML(PHP)_Php_Xml_Json - Fatal编程技术网

什么';更好:Json或XML(PHP)

什么';更好:Json或XML(PHP),php,xml,json,Php,Xml,Json,我用PHP处理的数据很少,我可以在Json和XML之间进行选择。但我不知道该选什么,我从来没有和他们中的一个一起工作过。所以我想要最简单的 我还想知道是否有好的类可以使解析(XML或Json)更容易 我主要关注的是易用性,而不是速度和规模。如果您选择XML使用,一个非常简单易用的库将使JSON解析变得简单。使XML对于PHP变得简单 在选择哪一个时,这实际上取决于您的应用程序。如果要将数据传递给JavaScript以便在客户端进行处理,那么我建议使用JSON。在我看来,XML更适合于系统之间的数

我用PHP处理的数据很少,我可以在Json和XML之间进行选择。但我不知道该选什么,我从来没有和他们中的一个一起工作过。所以我想要最简单的

我还想知道是否有好的类可以使解析(XML或Json)更容易

我主要关注的是易用性,而不是速度和规模。

如果您选择XML使用,一个非常简单易用的库将使JSON解析变得简单。使XML对于PHP变得简单


在选择哪一个时,这实际上取决于您的应用程序。如果要将数据传递给JavaScript以便在客户端进行处理,那么我建议使用JSON。在我看来,XML更适合于系统之间的数据交换,因为它被很好地理解和人类可读(使您的解释更容易)。JSON在网络上更小,因为没有结束标记。

JSON解析和生成本机包含在php中:

如果您还没有使用过这两种语言,那么选择JSON。到目前为止,答案是正确的,因为这两种方法都有很多帮助,你可以很快地开始使用这两种方法。JSON的另一个优点是比XML更不臃肿,当在客户端上有许多(可能是片面的)JSON vs XML文章在页面底部时,JSON可以轻松地“翻译”为javascript

给你


我通常更喜欢JSON,因为它更适合我通常表示的数据,在我的工作中,这些数据可能是顶点、网格等。根据您的数据,XML可能是一种很好的格式。

我将JSON与PHP结合使用,因为它非常简单:

$arr = array('foo' => 'bar', 'animals' => array('cat', 'dog')); // Create any array.
$json = json_encode($arr); // Converts any array to JSON.

一个要考虑的问题是,至少在下载时,XML和JSON(XML更大)之间的大小差异并不是真正有趣的,因为您将使用HTTP上的GZIP压缩。p> 如果您确信您将使用Javascript,并且从未使用过任何其他类型的客户端(另一个网站、Flash/Flex客户端,等等),那么JSON是非常好的,而且可能不会那么痛苦。另一方面,如果需要在XML上工作,现在使用XML可以节省时间


不管怎么说,一件好事是检查谷歌的家伙们正在使用Gmail的LiveHTTPHeaders或他们的任何应用程序做什么。我很确定这是XML而不是JSON,但你可以检查一下。在任何情况下,做谷歌做的事情都可能被认为是“不思考”,但他们通常比我聪明,而且思考的时间也要多得多:)

这要看情况而定

示例:如果希望将应用程序置于大上下文(EAI)中,那么应该使用XML(可能是Webservices和WSDL)

实例2:如果你想要一个简单的用户界面,基于JavaScript和Ajax,你应该考虑JSON。p>


使用javascript时,JSON最有用。在大多数情况下,XML库非常易于使用,使用起来也几乎一样。

JSON将数据视为编程语言中已知的结构:映射/字典(JSON中称为“对象”)、数组和文本。JSON将这些基本构造放入层次结构中

XML也是分层的,但它有三个基本部分:元素(带有开始/结束标记)、元素中的属性和文本内容。元素和文本内容可以混合,因此它适合标记文档。JSON在这方面不是很好

XML有一个巨大的生态系统,它周围有很多现成的工具:检查XML文档是否有效的各种模式、转换语言、用于导航文档的XPath等等。JSON在这方面也缺乏

不过,XML比JSON复杂得多。编写自己的JSON解析器既简单又有趣,但编写XML解析器却很困难(对于XML新手来说肯定不是这样)。在Javascript中,JSON可以通过计算文本来解析(尽管这是非常不安全的)


如果需要在两个系统之间传输数据,JSON就可以了。如果您想使用来自XML的更高级属性(实体、自动包含其他文档、模式、隐式属性值等),或者混合内容和标记,XML将更适合您。

最简单的方法是XML。 这样做的主要原因不是解析(因为XML和JSON有很好的libs可以为您实现这一点,请参阅其他文章),而是可理解性:

JSON使用许多不同的括号,当查看XML数据时,您可能会更快地看到任何错误。(假设您知道,例如HTML)


还可以(但可选)创建一个,使自动验证数据变得容易。这可以节省你很多时间之后

我觉得以下StackOverflow条目最能回答您的问题:

哪一个最简单?
jQuery使得将JavaScript对象序列化为JSON对象变得容易

但是,如果你仍然不确定

以下是一些其他文章:


和我说的一样+1对于“它真的取决于”我同意“它取决于”,但我不认为xml与json相比有任何优势;它们大致相似。JSON的大小优势是存在的,但通常并不重要:如果大小确实重要,gzip数据会使它们的大小大致相同(相同的信息内容等)。就个人而言,我会根据工具(易用性)进行选择,但不能评论wrt PHP。对于Java,有很多工具可以同时用于这两个方面,我认为PHP也是如此。阅读本文:更多的是关于网络,但同样的部分也适用于解析。。。不是很有趣嗯。。。是的,如果我们谈论的是巨大的文件,那么这个世界显然是经验性的:我认为,你必须进行测试和基准测试,并获得线索。JSON显然比从XML中解包更快。。。不是吗?“做谷歌做的事情可能被认为是“不思考”,但他们通常比我聪明,有更多的人时思考