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