Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1895 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Problème de parsing JSON

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de parsing JSON

n°2301159
talium
Et c'est pas fini ©
Posté le 26-05-2017 à 00:09:35  profilanswer
 

Bonjour à tous,
 
J'ai un problème certainement très bête, mais qui commence à me coûter cher en aspirine ...
J'ai ce bout de code (j'ai supprimé mon url par sécurité dedans):

Code :
  1. var xhr = new XMLHttpRequest();
  2.     xhr.onreadystatechange = function() {
  3.         if (xhr.readyState == XMLHttpRequest.DONE) {
  4.             jsonData = JSON.parse(xhr.responseText);
  5.             data = jsonData.coord;
  6.             document.write(data);
  7.         }
  8.     }
  9.     xhr.open('GET', "https://[mon-url]", true);
  10.     xhr.send();


 
Le but est de requêter une API AWS API Gateway, qui renvoie du JSON, que je parse dans un objet JSON avec jsonData = JSON.parse(xhr.responseText).
 
Si je fais document.write(jsonData) j'obtient :

Code :
  1. {"coord":{"lon":2.35,"lat":48.85},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":291.97,"pressure":1019,"humidity":56,"temp_min":288.15,"temp_max":295.15},"visibility":10000,"wind":{"speed":3.1,"deg":60},"clouds":{"all":0},"dt":1495747800,"sys":{"type":1,"id":5615,"message":0.0022,"country":"FR","sunrise":1495684591,"sunset":1495741168},"id":2988507,"name":"Paris","cod":200}


 
(oui, je me fais la main sur OpenWeatherMap ^^).
 
Mais si je tente d'accéder à une donnée de la structure JSON, jsonData.coord par exemple, j'ai :

Code :
  1. undefined


 
Je ne comprend pas du tout pourquoi je n'arrive pas à parcourir ma structure json ... Je suis sous Chrome 58 64 bits sur MacOS.
 
Est-ce que quelqu'un a une idée de ce que je fais surement mal ? :)
 
Merci d'avance !


---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.
mood
Publicité
Posté le 26-05-2017 à 00:09:35  profilanswer
 

n°2301252
potemkin
Optimisateur relativiste.
Posté le 29-05-2017 à 19:45:55  profilanswer
 

:hello:  
Une piste au pif:
 
Tes variables jsonData et data ne sont pas déclarées au préalable, et est donc placée dans le scope global.
Tu as peut-être un "use strict" en tête de script, une raison qui pourrait rendre ta variable globale illisible.
 
Où tentes-tu ton jsonData.coord?  
Tenté un jsonData['coord'] ? Et un jsonData['coord']['lon'] ? data['coord']['lon'] ?


Message édité par potemkin le 29-05-2017 à 19:46:03
n°2301258
talium
Et c'est pas fini ©
Posté le 29-05-2017 à 21:45:05  profilanswer
 

Merci pour ta réponse !
Je viens de trouver, c'est très c**, mais en fait il fallait parser 2 fois les données :
 

Code :
  1. jsonData = JSON.parse(xhr.responseText);
  2. jsonData = JSON.parse(jsonData);


 
Et là ça marche ...


Message édité par talium le 29-05-2017 à 21:45:30

---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.
n°2301265
potemkin
Optimisateur relativiste.
Posté le 29-05-2017 à 22:34:48  profilanswer
 

[:babaji]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Problème de parsing JSON

 

Sujets relatifs
Problème de code HTML/CSS + Hébergement chez soi[C] Problème de compilation entre emcc et OpenSSL (Résolu)
problème avec dialobox sur condition (JS)Problème utilisation librairie externe
[Résolu] Problème curieux sur bouton PartagerProblème d'encodage de liste chainée
probleme codage en VBANom avec espace -----> problème de compilation
Problème de positionnement d'image sur la version mobile responsiveProbleme de fermeture d'une jframe à partir d'un bouton
Plus de sujets relatifs à : Problème de parsing JSON


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR