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 :

Accéder à une valeur spécifique d'un tableau


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut Accéder à une valeur spécifique d'un tableau
    Bonjour,

    J'ai importé un document XML depuis une page web qui est mis à jour à un intervalle régulier (donc je peux pas le changer) et j'ai utilisé le code suivant pour le transformer en objet que je peux accéder comme un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     $.ajax("js/support.csv", {
                    success: function (data) {
                        var jsonobject = csvjson.csv2json(data);
                    },
                    error: function () {
                        alert("error");
                    }
                });
    Ce qui fonctionne bien, puisque la variable jsonobject contient ce qu'il y'a dans le fichier XML. Le problème, c'est lorsque j'essaie d'accéder à une valeur spécifique, ça me donne undefined au lieu de la valeur réelle. Les éléments qui m'interressent sont "LAT" (avec les guillemts) et LONG (sans les guillemets). Je crois que ce sont les guillemets qui posent problème, car je réussi à accéder à la variable LONG avec jsonobject.rows[0].LONG, mais pas à LAT.
    J'ai essayé toute sorte de choses tels que jsonobject.rows[0].LAT, jsonobject.rows[0]["LAT"], jsonobject.rows[0].[\"LAT\"], les caractères d'échappement ne semblent pas fonctionner.
    Voir pièce jointe

    Auriez-vous une idée?

    Merci
    Images attachées Images attachées  

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Bonjour,
    il te manquerait un niveau de profondeur, d'après ta pièce jointe, jsonobject.rows[0][0].LAT, le format me parait quand même bizarre !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    En effet c'est bizarre, même ta solution me donne cannot read property LAT of undefined.
    En fait jsonobject.rows[0].LONG me donne la valeur voulue.

    Merci

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    je me suis légérement planté, pour accéder à tes éléments essaie jsonobject.rows['[0 .. 9]'][0].LAT.

    Vérifie les espaces mais il te faut considérer "[0 .. 9]" comme une String et non comme un Array.

    Le mieux resterait quand même de corriger l'erreur à la source.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Effectivement, ça serait mieux de modifier le fichier, mais le problème c'est comme il est téléchargé d'un serveur distant, je vais avoir le même souci lorsque ce fichier sera remplacé par une copie plus récente. Malheureusement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jsonobject.rows['[0 .. 9]'][0].LAT
    ne fonctionne pas non plus, ça me donne Cannot read property '0' of undefined.
    Le plus bizarre c'est qu'on peut accéder facilement aux autres variables du tableau, mais pas à LAT.

    Merci

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Le plus bizarre c'est qu'on peut accéder facilement aux autres variables du tableau, mais pas à LAT.
    Peut être devrais tu nous fournir la version String de ton objet, JSON.stringify(jsonobject).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    J'ai réussi à accéder à ce que je voulais. LAT était enfait LAT\r si on regarde la version String, donc j'ai pu y accéder avec jsonobject.rows[0]["LAT\r"].

    Merci

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

Discussions similaires

  1. [XL-2007] VBA suppression de ligne d'un tableau comportant une valeur spécifique
    Par PSAIMOND dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/02/2014, 12h57
  2. Accéder à une valeur d'un tableau multidimensionel
    Par pasqual dans le forum Langage
    Réponses: 1
    Dernier message: 23/11/2009, 09h50
  3. Accéder à une valeur d'un tableau dynamiquement
    Par Le_PounK dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/03/2007, 13h35
  4. Réponses: 2
    Dernier message: 21/06/2006, 09h23
  5. Accéder à une valeur d'un tableau associatif
    Par TigreRouge dans le forum Langage
    Réponses: 5
    Dernier message: 16/03/2006, 12h03

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