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 :

json trouver un élément


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut json trouver un élément
    Bonjour,

    j'ai une variable qui contient tout mon json
    et dans mon json j'ai par exemple ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {"langues_libele":{
    		"fr":"langues",
    		"en":"languages",
    		"de":"Sprachen"
    	}}
    J'ai une fonction par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function remplace(code){
    document.getElementById('element').innerHTML = json.langues_libele.code;
    }
    mais voilà en faisant çà il ne remplace pas code par la variable qui contient (fr ou en ou de) mais il cherche le libele code dans le json.
    mais si dans ma fonction je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('element').innerHTML = json.langues_libele.en;
    alors là çà fonctionne parfaitement

    avez vous une idée sur la question ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    sans connaitre json, ça serait pas un truc style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json.langues_libele.['code'];
    ... ou alors, c'est qu'il attends 2 L à "libelle"

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    ah j'y est presque cru, mais non çà marche pas non plus

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    bon je ne sais pas si c'est la meilleur solution mais en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json.langues_libele.eval(code);
    çà fonctionne bien
    peut être que çà pourra en aider d'autre

  5. #5
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Les objets js sont vus sous forme de tableaux associatifs.

    Par conséquent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json.langues_libele.en == json.langues_libele['en'] == "languages"
    Donc sauf erreur de ma part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function remplace(mycode){
    document.getElementById('element').innerHTML = json.langues_libele[mycode];
    }
    devrait marcher

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    Citation Envoyé par maximenet
    bon je ne sais pas si c'est la meilleur solution mais en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    json.langues_libele.eval(code);
    çà fonctionne bien
    peut être que çà pourra en aider d'autre
    => moi, j'ai l'habitude d'utiliser cette solution..

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    Ah ben heureusement que tu es là Herode

    la méthode avec .eval() ne fonctionne pas sous IE7 , puis de toute manière je pense que la méthode de Herode est plus propre.

    A+

Discussions similaires

  1. Trouver les éléments unique d'une liste
    Par Loki83 dans le forum Excel
    Réponses: 4
    Dernier message: 27/11/2008, 15h28
  2. Trouver les éléments inutiles
    Par fbu78 dans le forum Access
    Réponses: 1
    Dernier message: 07/02/2008, 11h53
  3. trouver un élément dans un tableau
    Par jcaspar dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 21/09/2007, 14h57
  4. Réponses: 1
    Dernier message: 28/06/2007, 09h26
  5. Trouver l'élément juste après en SQL ?
    Par marot_r dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/07/2006, 21h03

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