2010-09-01 8 views
3

Tous,JSON par rapport à la vitesse d'analyse syntaxique XML Flash AS2

Je travaille sur un projet Flash AS2 dans lequel j'ai le choix de recevoir un ensemble de données dans XML ou JSON.

L'ensemble de données contient probablement 100-1 000 lignes de données; chaque rangée a environ 50 champs; la plupart des valeurs sont numériques. Si j'utilise XML, je serai en mesure de définir moi-même le XML, afin de m'assurer qu'il soit aussi compact que possible.

Alors, je pourrais utiliser quelque chose comme ceci:

<rows> 
    <row col0="1" col1="2" col2="3" ... col49="50" /> 
    ... 
    <row col0="1" col1="2" col2="3" ... col49="50" /> 
</rows> 

Dans mes premiers tests, à la fois les données JSON et XML « peser » sur le même (en kilo-octets). Cependant, je remarque que Flash est capable d'analyser XML MUCH plus rapidement - il faut environ 3 fois plus de temps pour analyser le JSON. (J'utilise la classe de http://www.json.org/json.as). Basé uniquement sur cela, je suis enclin à utiliser XML, même si JSON semble être le choix le plus populaire ces jours-ci.

L'analyse syntaxique JSON plus lente est-elle typique? Y a-t-il une classe plus rapide que celle de json.org? Est-ce parce que j'utilise AS2 au lieu de AS3 (longue histoire, ne demandez pas ...)? Dois-je faire quelque chose de mal?

Un grand merci d'avance pour tout conseil ou un aperçu.

Cheers, Matt Stuehler

+0

Vous pouvez alléger la charge utile et le temps d'analyse pour JSON en utilisant: {'rows': [ {'row': [1,2,3 .... 50]}, ]} – TML

Répondre

1

Avec ce petit un ensemble de données toutes les différences ne serait probablement pas perceptible à l'utilisateur. Mais si vous vous penchez vers XML pour des raisons de performances, laissez-moi vous donner un autre coup de pouce en soulignant que l'utilisation de XML vous permet d'utiliser E4X, qui est comme XPATH pour ActionScript. Cela facilite la manipulation des données dans le code.