GSON: Attend une chaîne de caractères, mais a été BEGIN_OBJECT?
Je suis en train d'utiliser GSON pour analyser certains très simple JSON. Voici mon code:
Gson gson = new Gson();
InputStreamReader reader = new InputStreamReader(getJsonData(url));
String key = gson.fromJson(reader, String.class);
Voici le JSON retourné à partir de l'url:
{
"access_token": "abcdefgh"
}
Je suis de cette exception:
E/AndroidRuntime(19447): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2
Des idées? Je suis nouveau sur GSON.
OriginalL'auteur Steven Schoen | 2012-07-20
Vous devez vous connecter pour publier un commentaire.
La structure JSON est un objet avec un élément nommé "access_token" -- ce n'est pas seulement une simple chaîne de caractères. Il pourrait être désérialisé pour un correspondant Java structure de données, tel qu'une Carte, comme suit.
Une autre approche consiste à utiliser une plus Java spécifique de la structure de données qui correspond au format JSON. Par exemple:
Je suis sory de frapper un vieux thread , nouvelle Json, u peut expliquer brièvement ur première réponse, je suis confus au sujet de mettre la Carte dans le type de jeton..confus au sujet de la deuxième paramètre de fromJson() méthode
OriginalL'auteur Programmer Bruce
Un autre "bas niveau" la possibilité à l'aide de la Gson JsonParser:
Si un jour vous allez écrire une coutume deserializer, JsonElement sera votre meilleur ami.
Vous êtes les bienvenus
OriginalL'auteur giampaolo