Gson désérialiser en map
J'ai cette chaîne json dont j'ai besoin pour obtenir désérialisée dans une carte: la Carte
"players_test": [
{
"54231f85f8e049c7bd8ac0aba3d1caf7": {
"uuid": "54231f85f8e049c7bd8ac0aba3d1caf7",
"name": "TomShar",
"signup_time": "2014-07-04 16:27:16"
}
},
{
"54231f85f8e049c7bd8ac0aba3d1caf7": {
"uuid": "54231f85f8e049c7bd8ac0aba3d1caf7",
"name": "TomShar",
"signup_time": "2014-07-04 16:27:16"
}
},
{
"54231f85f8e049c7bd8ac0aba3d1caf7": {
"uuid": "54231f85f8e049c7bd8ac0aba3d1caf7",
"name": "TomShar",
"signup_time": "2014-07-04 16:27:16"
}
}
]
Afin que les Chaînes doivent être les touches et puis la valeur de l'objet qu'il représente. J'ai un custom deseriaziler écrit pour l'UUID de l'objet et qui est testé et fonctionne (donc qui n'est pas le problème).
EDIT:
J'ai trouvé une meilleure structure JSON que je peux utiliser pour mon problème qui fonctionne exactement de la façon dont je le veux.
"players": {
"54231f85-f8e0-49c7-bd8a-c0aba3d1caf7": {
"uuid": "54231f85-f8e0-49c7-bd8a-c0aba3d1caf7",
"name": "TomShar",
"kills": 0,
"assists": 0,
"damage_dealt": 0,
"time_alive": 0,
"dead": false
},
"KEY": {
"uuid": "KEY",
"name": "Name",
"kills": 0,
"assists": 0,
"damage_dealt": 0,
"time_alive": 0,
"dead": false
},
"KEY": {
"uuid": "KEY",
"name": "Name",
"kills": 0,
"assists": 0,
"damage_dealt": 0,
"time_alive": 0,
"dead": false
}
}
Quel est donc le problème?
OriginalL'auteur TomShar | 2014-07-15
Vous devez vous connecter pour publier un commentaire.
D'abord, placez la chaîne JSON à l'intérieur de
{...}
, alors vous pouvez facilement les convertir en Carte comme illustré ci-dessous:Oui, vous pouvez le convertir dans le format désiré comme indiqué ci-dessous:
quelles seront les clés? Il devrait être
ArrayList<Map<String, PlayerObject>>
Regarder la chaîne JSON. Qu'est-ce que les touches ici et ce que PlayerObject ont. simplement obtenir à partir de l'exemple de code que j'ai partagé avec vous.La clé de l'uuid à l'extérieur de l'objet de joueur comme ceci: "THIS_IS_THE_KEY": { "uuid": "54231f85f8e049c7bd8ac0aba3d1caf7", "nom": "TomShar", "signup_time": "2014-07-04 16:27:16" }
vous pouvez l'extrait de carte ci-dessus.
Oh, peut-être ma chaîne json est fait mal, je veux une carte pour chacun de ces objets dans le tableau. donc, de mon extrait de il devrait être de 3 entrys dans la Carte, je suppose que c'est trompeur que toutes les touches sont les mêmes, ils seraient différentes dans la réalité.
OriginalL'auteur Braj