IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

syntaxe json parathèses


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var json = '{a: "abc", b: "def"}';
    var obj1 = eval('(' + json + ')'); //ok!
    var obj2 = eval(json); //syntax error!

    Merci bcp !

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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))();

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut
    merci bcp

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.4] correction syntaxe json automatique en php
    Par robin52 dans le forum Langage
    Réponses: 10
    Dernier message: 26/02/2015, 11h41
  2. [Encodage] JSON Syntax error + caratère caché
    Par valentin1991 dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2014, 20h42
  3. [JSON] Erreur de syntaxe
    Par clecle dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/06/2014, 15h30
  4. syntaxe de JSON
    Par pasqual dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2009, 15h27
  5. [DOM] Syntaxe Json et DOM
    Par lekunfry dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2007, 04h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo