2010-07-07 3 views
1
{"0":{"name":{"name_id":"How to battle","tab_level":"2"},"job_reward":{"job_money":"10000","job_exp":"50","job_energy":"23"}},"job_required_items":[{"filename":"sword.gif","no":"2"}],"1":{"name":{"name_id":"Check for battle","tab_level":"2"},"job_reward":{"job_money":"1000","job_exp":"12","job_energy":"10"}}} 

Je veux analyser ce format json en utilisant pour.analyser le format json en javascript

+1

Pourquoi utilisez-vous pas l'un des nombreux JSON mises en œuvre qui sont déjà là-bas? Certains sont listés sur http://www.json.org/ – selfawaresoup

+1

Aussi "je veux analyser ce format json en utilisant pour." est comme "je veux construire une voiture en utilisant des vis". Soyez plus précis avec votre question s'il vous plaît. – selfawaresoup

+0

signifie que je veux formater est la même mais la longueur est variable c'est pourquoi je veux le faire en utilisant pour la déclaration. – goblin2986

Répondre

3
JSON.parse(json_string); 

dans les navigateurs plus anciens, vous aurez besoin this

0

Dans les navigateurs modernes que vous pouvez faire:

JSON.parse(json); 

Si vous voulez travailler pour les plus anciens, vous pouvez envisager d'utiliser la offical parser de JSON .org.

Si la réponse est de vous, vous pouvez l'analyser de manière native par:

var o = new Function("return " + json)(); 

qui est même faster que l'habituel:

var o = eval("(" + json + ")"); 
+0

vous devriez vérifier si le JSON est valide avant de le faire. –

+0

Ces deux méthodes sont en fait assez dangereuses car elles ouvrent des possibilités d'exécution de code arbitraire. Mieux vaut utiliser une bibliothèque d'analyseurs JSON qui ne repose PAS sur eval() ou le constructeur Function(). – selfawaresoup

+1

J'ai dit: "Si la réponse vient de vous". ** Il existe des cas ** lorsqu'il est plus simple d'utiliser l'analyse native et que vous n'avez aucune menace pour la sécurité. – galambalazs