使用json over xml和Flash的任何特殊优势

时间:2009-10-16 17:12:34

标签: xml flash actionscript-3 json comparison

那好吗?

从我读过的所有内容来看,似乎答案是否定的,但是想知道是否有人有不同意见。

4 个答案:

答案 0 :(得分:5)

JSON通常是比XML更有效的数据编码方法。如果下载时间对您的应用程序很重要,这就很重要。

另一个考虑因素是E4X查询语法是否对您的特定用途具有引人注目的优势。可能是您可以通过迭代单个查询行的结果来执行您想要的操作,并且在通过解析的JSON进行交互时,等效的ActionScript代码会更长。

我还会考虑此应用是否必须与JavaScript代码进行交互,例如因为Flash应用程序存在于浏览器中并且必须与页面上的其他内容进行通信。如果是这样,我会使用JSON,因为在浏览器JS中处理XML(而不是使用E4X的现代JS 1.8)比处理JSON要困难得多。

答案 1 :(得分:2)

XML是一堆数据。这是90%的超文本和10%的数据。

JSON在这里有两大优势:

  1. 它更小。这意味着将使用更少的带宽(更好的响应时间,优于AJAX)
  2. 它是JavaScript的一个子集,这意味着要解析它所需要的只是调用eval()函数,如:

    result = eval(resultStr); var age = result.clients[2].age;

  3. 我定义重新组合JSON。

答案 2 :(得分:2)

另一个主要优点是解析速度。解析大量的xml非常慢,尤其是使用E4X,尤其是移动设备。我观察到使用json而不是xml来增加10倍的速度以表示相同的数据。在这种情况下,数据是1.5 MB压缩压缩。

答案 3 :(得分:1)

JSON意味着JavaScript Object Notation ... JSON的明显优势在于,它捕获了ECMAScript的对象语义(包括ActionScript)...... E4X在ActionScript中有助于以某种方式使XML对象感觉良好,但仍然......

如果我有<node attribute="value"><child/><node>,我真的不能说,它是什么...... child属性?它是一个长度为1的数组的入口吗?我将如何评估节点node

JSON字符串表示匿名的actionscript对象...... XML不...

除此之外,还有一些优点:它更小,更轻... ... JSON的一个明确优势是,它可以捕获数值和布尔值......这不是XML的情况。 。attrib="123"可能意味着字符串123或整数123 ...同样适用于truefalsenull ... < / p>