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

Développement de jobs Discussion :

Récupérer un JSON ou un XML depuis une API météo


Sujet :

Développement de jobs

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 29
    Points : 19
    Points
    19
    Par défaut Récupérer un JSON ou un XML depuis une API météo
    Bonjour,

    Je me connecte à une API météo avec le composant tREST.

    Quand je veux lire le résultat avec un tMap, il ne me met qu eles 3 champs suivants : statuscode, body et String.

    Tout le contenu est envoyé dans le champ body :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8"?>
    <root><data><rh>78</rh><pod>n</pod><lon>-78.64</lon><pres>1004.5</pres><timezone>America/New_York</timezone><ob_time>2022-01-05 11:20</ob_time><country_code>US</country_code><clouds>65</clouds><ts>1641381600</ts><solar_rad>0</solar_rad><state_code>NC</state_code><city_name>Raleigh</city_name><wind_spd>0.45</wind_spd><wind_cdir_full>north-northeast</wind_cdir_full><wind_cdir>NNE</wind_cdir><slp>1017.3</slp><vis>5</vis><h_angle>-90</h_angle><sunset>22:15</sunset><dni>0</dni><dewpt>0.7</dewpt><snow>0</snow><uv>0</uv><precip>0</precip><wind_dir>13</wind_dir><sunrise>12:24</sunrise><ghi>0</ghi><dhi>0</dhi><aqi>52</aqi><lat>35.78</lat><weather><icon>c02n</icon><code>802</code><description>Scattered clouds</description></weather><datetime>2022-01-05:11</datetime><temp>4.2</temp><station>1327W</station><elev_angle>-16.96</elev_angle><app_temp>5.3</app_temp></data><count>1</count></root>

    Comment puis-je faire pour récupérer de façon structurée ce contenu et ne traiter par exemple que le champ "temp" ou "datetime" ?

    D'avance merci,

  2. #2
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Hello,

    Avec un tExtractXMLField bien sûr, comme pour les Json

    Nicolas

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    Bonjour et merci pour la réponse.

    J'ai bien réussi à lire le contenu avec un tExtractField.
    Par contre, quand j'essaie de faire la même chose avec un tExtractjson, j'ai le message suivant :
    Expected to find an object with property ['/root'] in path $ but found 'java.lang.String'. This is not a json object according to the JsonProvider: 'com.jayway.jsonpath.spi.json.JsonSmartJsonProvider'.

    J'ai utilisé la même syntaxe dans le Loop JsonpathQuery : "/root[*]"
    J'ai le même schéma et j'ai bien spécifié Accepter type= Json sur mon composant tRest.

    Une idée ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Le JSONPath n'a pas la même syntaxe que le XPath.
    https://github.com/json-path/JsonPath

    Mais par contre, tu peux utiliser du XPath dans le tExtractJSONFields (dans le paramètre "Lu par").

    Nicolas

  5. #5
    Membre à l'essai
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Novembre 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    En mettant le Xpath, j'obtiens l'erreur suivante :
    java.io.IOException: Illegal character: <<>
    ci-dessous le paramétrage de mon tExractJson :

    Nom : xpath.png
Affichages : 293
Taille : 33,2 Ko

  6. #6
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Essaie avec ça dans le XPath Loop : "/root/data/" ?

    Nicolas

Discussions similaires

  1. récupérer un document XML depuis une URL
    Par ingenieurtunisien dans le forum C#
    Réponses: 12
    Dernier message: 02/10/2010, 17h53
  2. Récupérer les parametres de context.xml depuis une appli JAVA
    Par anthropo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/02/2008, 23h10
  3. Réponses: 5
    Dernier message: 08/12/2006, 19h02
  4. acceder à un fichier xml depuis une jsp
    Par rvfranck dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 04/10/2006, 18h12
  5. Recupération de données XML depuis une URL
    Par tonymo dans le forum Format d'échange (XML, JSON...)
    Réponses: 27
    Dernier message: 21/11/2005, 13h48

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