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

avec Java Discussion :

Récupérer un JsonObject


Sujet :

avec Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut Récupérer un JsonObject
    Bonjour,

    je cherche un moyen pour récupérer le contenu "string" d'un json à partir d'un jSonObject.

    Par exemple le bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    final WebTarget wt = c.target(this.uri);
    		try {
    			JsonObject result =wt.request(MediaType.APPLICATION_JSON).get(JsonObject.class);
    			JsonObject p=(JsonObject)result.get("message");
    			System.out.println("Titre --> "+p.get("title"));
    Va m'afficher en sortie ["Mon Titre"]

    Sauf que moi j'aimerais trouver une méthode qui retournera directement un string "Mon Titre".

    Merci d'avance si vous avez une idée

    PS: Bien évidemment je pourrais reconstruire le string à partir d'une chaine vide mais je cherche une solution un tantinet plus "propre"^^

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 545
    Points : 21 601
    Points
    21 601
    Par défaut
    Hello, si je comprends bien tu ne cherches pas à récupérer un JsonObject. Tu as un JsonObject qui est là, et tu veux récupérer une String qui se trouve à l'intérieur.

    Comment faire, ben ça dépend entièrement du JSON en question.

    En gros, que contient exactement le truc qui ressemblait à ça :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {
      "author" : "writer dude",
      "date" : "2017-03-18",
      "usdPrice" : 12.5,
      "message" : {
        "title" : [ "Un titre" ]
      }
    }

    avant d'être désérialisé dans un JsonObject ? Indice : tu peux le savoir simplement en faisant System.out.println(result)

    PS: Bien évidemment je pourrais reconstruire le string à partir d'une chaine vide mais je cherche une solution un tantinet plus "propre"^^
    Honnêtement, je ne pige rien à ce que tu dis. Genre une chaîne vide ça peut possiblement servir à quelque chose, par exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut
    Bonsoir,

    merci de ta réponse.
    Hello, si je comprends bien tu ne cherches pas à récupérer un JsonObject. Tu as un JsonObject qui est là, et tu veux récupérer une String qui se trouve à l'intérieur.
    C'est exactement ça.

    L'exemple de Json que tu montres correspond bien à la situation, pour le simplifier au maximum on pourrait même dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
    "message" : {
        "title" : [ "Un titre" ]
      }
    }
    Ce que je voulais dire maladroitement en parlant de chaine vide c'est qu'en utilisant un toString j'aurais pu construire la chaine "["Un Titre"]" et me débrouiller à partir de ça. Mais si possible j'aimerais faire ça plus proprement qu'en utilisant des splits par exemple.
    Je pense qu'il doit bien existe une méthode permettant ceci.

    Merci.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 545
    Points : 21 601
    Points
    21 601
    Par défaut
    Cette ligne-là définit un tableau :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    "title" : [ "Un titre" ]

    La chaîne "Un titre" n'est que le premier et seul élément de ce tableau. Pour y accéder il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String title = result
      .getJsonObject("message")
      .getJsonArray("title")
      .getString(0);
    Mais bien sûr ça vaut la peine de te demander qu'est-ce que tu dois faire si ce tableau contient plus d'un élément, comme :

    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
      "message" : {
        "title" : [ "Un titre", "Un autre titre", "Et encore un autre" ]
      }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut
    Merci c'est exactement ce que je cherchais

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

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 14h20
  2. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 03h35
  3. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 12h28
  4. Réponses: 11
    Dernier message: 23/07/2002, 15h33
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 18h26

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