代码之家  ›  专栏  ›  技术社区  ›  user189461

在Flash中使用json比xml有什么特别的优势

  •  5
  • user189461  · 技术社区  · 16 年前

    有吗?

    4 回复  |  直到 16 年前
        1
  •  5
  •   Warren Young    16 年前

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

    另一个需要考虑的问题是,E4X查询语法是否对您的特定使用具有引人注目的优势。可能你可以通过迭代单个查询行的结果来做你想做的事情,而在迭代解析的JSON时,等效的ActionScript代码会更长。

    我还会考虑这个应用程序是否必须与JavaScript代码交互,比如因为Flash应用程序位于浏览器中,必须与页面上的其他东西进行通信。如果是这样,我会选择JSON,因为在浏览器JS中处理XML(与E4X的现代JS 1.8相反)比处理JSON要困难得多。

        2
  •  2
  •   Daniel Rodriguez    16 年前

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

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

    我肯定会推荐JSON。

        3
  •  2
  •   Ævar Örn Kvaran    13 年前

    另一个主要优势是解析速度。解析大量xml非常缓慢,尤其是在E4X上,在移动设备上更是如此。我观察到,使用json而不是xml来表示相同的数据,速度提高了大约10倍。在这种情况下,数据被压缩了1.5 MB。

        4
  •  1
  •   Taryn Frank Pearson    13 年前

    JSON是JavaScript对象表示法。..JSON的明显优势在于,它捕获了ECMAScript(包括ActionScript)的对象语义。..E4X在某种程度上帮助XML对象在ActionScript中感觉良好,但仍然如此。..

    如果我有 <node attribute="value"><child/><node> child 房产?它是长度为1的数组的条目吗?我将如何评估节点名 node ?

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

    除此之外,还有前面提到的优点:它更小、更轻。..JSON的一个明显优势是,它可以捕获数值和布尔值。..XML的情况并非如此。.. attrib="123" 可能意味着字符串 123 或整数 123 …同样的事情 true , false null ...