从我读过的所有内容来看,似乎答案是否定的,但是想知道是否有人有不同意见。
答案 0 :(得分:5)
JSON通常是比XML更有效的数据编码方法。如果下载时间对您的应用程序很重要,这就很重要。
另一个考虑因素是E4X查询语法是否对您的特定用途具有引人注目的优势。可能是您可以通过迭代单个查询行的结果来执行您想要的操作,并且在通过解析的JSON进行交互时,等效的ActionScript代码会更长。
我还会考虑此应用是否必须与JavaScript代码进行交互,例如因为Flash应用程序存在于浏览器中并且必须与页面上的其他内容进行通信。如果是这样,我会使用JSON,因为在浏览器JS中处理XML(而不是使用E4X的现代JS 1.8)比处理JSON要困难得多。
答案 1 :(得分:2)
XML是一堆数据。这是90%的超文本和10%的数据。
JSON在这里有两大优势:
它是JavaScript的一个子集,这意味着要解析它所需要的只是调用eval()函数,如:
result = eval(resultStr);
var age = result.clients[2].age;
我定义重新组合JSON。
答案 2 :(得分:2)
另一个主要优点是解析速度。解析大量的xml非常慢,尤其是使用E4X,尤其是移动设备。我观察到使用json而不是xml来增加10倍的速度以表示相同的数据。在这种情况下,数据是1.5 MB压缩压缩。
答案 3 :(得分:1)
如果我有<node attribute="value"><child/><node>
,我真的不能说,它是什么...... child
属性?它是一个长度为1的数组的入口吗?我将如何评估节点node
?
JSON字符串表示匿名的actionscript对象...... XML不...
除此之外,还有一些优点:它更小,更轻... ... JSON的一个明确优势是,它可以捕获数值和布尔值......这不是XML的情况。 。attrib="123"
可能意味着字符串123
或整数123
...同样适用于true
,false
和null
... < / p>