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

Android Discussion :

Parsing JSON avec GSON


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Par défaut Parsing JSON avec GSON
    Bonjour,

    j'ai un retour au format JSON de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    "AdresseTitulaire":[
    "58 RUE de la république",
    "",
    "61000 ALENCON",
    null,
    null
    ],
    Et je le parse avec GSON

    Le probleme c'est qu'il me supprime les null (pas les vides: ""). Ce qui fait que je me retrouve avec un Arraylist du type :

    0> "58 RUE de la république"
    1> ""
    2> "61000 ALENCON"

    Alors que je souhaiterais:
    0> "58 RUE de la république"
    1> ""
    2> "61000 ALENCON"
    3> ""
    4> ""

    Idem pour celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "ALENCON COURTEILLE",
    "4 PLACE DU Rond Point",
    "61000 ALENCON",
    null,
    null,
    "TEL : 06.06.06.06.06"
    Je me retrouve avec une Arraylist comme ceci
    0> "ALENCON COURTEILLE"
    1> "4 PLACE DU Rond Point"
    2> "61000 ALENCON"
    5> "TEL : 06.06.06.06.06"

    alors que je voudrais cela:
    0> "ALENCON COURTEILLE"
    1> "4 PLACE DU Rond Point"
    2> "61000 ALENCON"
    3> ""
    4> ""
    5> "TEL : 06.06.06.06.06"


    Est-il possible de me retourner un vide à la place d'un null avec GSON ?
    Si oui pouvez vous m'indiquer la marche à suivre ?

    Un grand merci à vous

    Bomatch

    PS: Sauf erreur de ma part la taille des retour est fixe ( 5 pour le premier et 6 pour le second)

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Par défaut
    Salut,

    Tu as regardé de ce coté là?

    https://sites.google.com/site/gson/g...Object-Support

    Ca à l'air ok pour la sérialisation, peut être que cela peut marcher aussi pour la déserialisation?

  3. #3
    Membre confirmé
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Par défaut
    Merci pour ta réponse rapide.

    Je vais jeter un coup d’œil.

    Je vous tiens au jus.

    Bomatch

  4. #4
    Membre confirmé
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Par défaut
    Malheureusement je ne pense pas que ça marche dans ce sens avec cette méthode.
    En effet, J'ai regardé ton lien et analysé leur solution, mais je ne trouve pas de méthode pour la désérialisation comme c'est montré pour la sérialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gson gson = new GsonBuilder().serializeNulls().create();
    Je vais chercher, il doit bien exister un moyen simple d'y parvenir.

    Bomatch

  5. #5
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Dans ce cas, remplaces tous les null par "" dans le JSON juste avant de le parser.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Membre confirmé
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Par défaut
    Citation Envoyé par Hephaistos007 Voir le message
    Dans ce cas, remplaces tous les null par "" dans le JSON juste avant de le parser.
    Très bonne idée !!!

    J'avais aussi pensé à faire cette partie à la main avec le JSON natif d'ANDROID. En effet, ce que j'ai mis dans mon post n'est qu'une partie du Fichier JSON que je reçois, le reste marche bien avec GSON (je n'ai pas de null à transformer en String vide).
    Mais je ne désespere pas de trouver la solution avec GSON

    J'essaie de faire un point au plus vite

    Bomatch

  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Tu ne peux pas influer sur la source qui t'envoie ces données pour n'avoir aucun null et avoir directement des chaînes vides à la place ?
    Ce serait plus cohérent que la source n'envoie pas de données daubées.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  8. #8
    Membre confirmé
    Homme Profil pro
    Developpeur Android
    Inscrit en
    Février 2015
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Developpeur Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 104
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Tu ne peux pas influer sur la source qui t'envoie ces données pour n'avoir aucun null et avoir directement des chaînes vides à la place ?
    Ce serait plus cohérent que la source n'envoie pas de données daubées.
    Je suis 300% d'accord avec toi, mais tu connais les gens, et dès qu'il s'agit de toucher à leur source .... Pas content.

    Donc, pour l'instant, j'ai pris cette solution, qui fonctionne très bien, mais je préférerai passer par GSON.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reponseFinale = reponseFinale.replace("null","\"\"");
    Là, je dois passer sur un autre projet. Je vais mettre mon Post sur résolu et si je trouve autre chose je reviendrai y mettre des infos.

    Merci à vous

    Bomatch

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

Discussions similaires

  1. Enregistrer des données dans un fichier JSON avec Gson
    Par hamrouni wassim dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 29/03/2015, 14h01
  2. parsing json avec gson
    Par Mikegoss dans le forum Android
    Réponses: 7
    Dernier message: 30/06/2013, 20h11
  3. Parsing JSON avec Jackson sous Android
    Par Feanorin dans le forum Android
    Réponses: 4
    Dernier message: 20/12/2012, 12h37
  4. Problème parsing JSON avec Jackson
    Par drhouse87 dans le forum Android
    Réponses: 6
    Dernier message: 06/03/2012, 19h25

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