La désérialisation Map<Object, Object> avec GSon

J'ai une Carte contenant un mélange de types, comme dans cet exemple simple

final Map<String, Object> map = new LinkedHashMap<String, Object>();
map.put("a", 1);
map.put("b", "a");
map.put("c", 2);
final Gson gson = new Gson();
final String string = gson.toJson(map);
final Type type = new TypeToken<LinkedHashMap<String, Object>>(){}.getType();
final Map<Object, Object> map2 = gson.fromJson(string, type);
for (final Entry<Object, Object> entry : map2.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

Ce que je récupère sont plaine Objects, pas de Integers, pas de Strings. La sortie ressemble à

a : java.lang.Object@48d19bc8
b : java.lang.Object@394a8cd1
c : java.lang.Object@4d630ab9

Puis-je la corriger en quelque sorte? Je préfère attendre que de tels cas simples seront traitées correctement par défaut.

je sais que les informations sur le type ne peuvent pas toujours être préservée, et éventuellement 1 et "1" signifie exactement la même chose en JSON. Cependant, le retour de la plaine de contenu-moins d'objets tout simplement pas de sens pour moi.

Mise à jour: La version sérialisée (c'est à dire la string ci-dessus) a l'air bien:

{"a":1,"b":"a","c":2}
Pourriez-vous regarder ce que le final String string ressemble? Je suis sûr qu'il pourrait aider à comprendre le problème.
J'ai juste rencontré ce ainsi... C'est pourquoi j'utilise mon JSONer... ça risque d'être un peu plus lent, mais beaucoup plus générique que Gson: nu-art-infrastructure.blogspot.co.il/2013/03/jsoner.html
J'ai suivi le "clair et statique de la structure de données" conseils à la place. Toutefois, la fabrication de Gson gérer cela devrait être assez trivial. Avez-vous soin de déposer un problème?
La chose terrible à ce sujet, que j'utilise GSON avec Android, et sur mon téléphone, il fonctionne bien, alors que sur les autres téléphones, il crée ce que vous avez décrit... Ma solution a été aussi clair et statique, mais dans le JSONer analyseur, vous pouvez utiliser des cartes et des listes imbriquées les objets complexes, et il est résolu au sein de l'annotation!
Soin de déposer une question à propos de quoi? ils savent à propos de cette question, n'est-ce pas?

OriginalL'auteur maaartinus | 2011-03-22