Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/06/2011, 16h09   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut syntaxe json parathèses

Bonjour,

Est-ce que quelqu'nu sait pourquoi on est obligé d'entouré la chaine json de parathèses lors de son évaluation ?

Code :
1
2
3
var json = '{a: "abc", b: "def"}';
var obj1 = eval('(' + json + ')'); //ok!
var obj2 = eval(json); //syntax error!

Merci bcp !
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 17h05   #2
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
il ne faut pas utiliser eval
mais
Code :
1
2
var json = '{a: "abc", b: "def"}';
var obj1 = JSON.parse(json); //ok!
si l'objet JSON n'existe pas voir http://www.developpez.net/forums/d83...rse-stringify/
http://www.developpez.net/forums/d10...-fichier-json/
http://www.developpez.net/forums/d98...t/#post5502983
http://www.developpez.net/forums/d98...t/#post5504255
http://www.developpez.net/forums/d10...types-classes/
http://www.developpez.net/forums/d96...pt/json-natif/

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 17h17   #3
Membre expérimenté
 
Duke Jikel
Inscription : mai 2010
Messages : 340
Détails du profil
Informations personnelles :
Nom : Duke Jikel

Informations forums :
Inscription : mai 2010
Messages : 340
Points : 548
Points : 548
Pas mal de librairies font un eval ou un json.parse si ca existe. Sinon Jquery fait un new Function(), c'est intelligent. GG
Code :
1
2
3
4
5
6
 
 
			// Try to use the native JSON parser first
			return window.JSON && window.JSON.parse ?
				window.JSON.parse( data ) :
				(new Function("return " + data))();
dukej est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 17h39   #4
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
merci bcp
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2011, 18h26   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 939
Points : 4 767
Points : 4 767
Citation:
Envoyé par omelhor Voir le message
Est-ce que quelqu'nu sait pourquoi on est obligé d'entouré la chaine json de parathèses lors de son évaluation ?
cela permet à eval d'interpréter les {}, en absence de () les {} serait considéré comme un début et une fin de bloc et non comme l'encadrement d'un objet.

Pas sur que cela soit clair d'ailleurs
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h34.


 
 
 
 
Partenaires

Hébergement Web