J'ai lu un fichier JSON avec la bibliothèque GSON. J'utilise le code suivant:
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJSONString);
String prettyJsonString = gson.toJson(je);
Tout fonctionne bien, si mon JSON a toutes les valeurs, mais s'il manque des valeurs dans le JSON, comme le JSON suivant, j'obtiens une exception.
com.google.gson.stream.MalformedJsonException:
Expected value at line 1 column 217 path $.repeatInterval
.
{
"key1": "a",
"key2": "",
"key3":
}
Comment lire un fichier JSON avec des valeurs manquantes lors de l'utilisation de la bibliothèque GSON?
modifier: Solution sans exception. Ajouter "key3:" "
{
"key1": "a",
"key2": "",
"key3": ""
}
Réponses:
1 pour la réponse № 1Votre JSON est invalide comme vous pouvez le voir sur ce site par exemple: http://jsonlint.com/ Autant que je sache, GSON lancera toujoursexception sur JSON invalide, et qui est le comportement prévu. Si vous pouvez créer ce JSON, essayez au moins de mettre "" à la place de la valeur vide afin de respecter le format JSON.