Obtenir JSON nom de la clé à l'aide de GSON
J'ai un tableau JSON qui contient des objets comme ceci:
{
"bjones": {
"fname": "Betty",
"lname": "Jones",
"password": "ababab",
"level": "manager"
}
}
ma classe Utilisateur dispose d'un identifiant qui nécessiterait l'objet JSON est la clé pour être utilisé. Comment puis-je obtenir la clé de mon objet JSON?
Ce que j'ai maintenant c'est tout et la création d'un nouvel objet Utilisateur, mais en laissant le nom d'utilisateur null. Ce qui est compréhensible, parce que mon objet JSON ne contient pas une paire clé/valeur pour "nom d'utilisateur":"valeur".
Gson gson = new Gson();
JsonParser p = new JsonParser();
JsonReader file = new JsonReader(new FileReader(this.filename));
JsonObject result = p.parse(file).getAsJsonObject().getAsJsonObject("bjones");
User newUser = gson.fromJson(result, User.class);
//newUser.username = null
//newUser.fname = "Betty"
//newUser.lname = "Jones"
//newUser.password = "ababab"
//newUser.level = "manager"
edit:
J'essaie d'insérer "bjones" dans newUser.nom d'utilisateur avec Gson, désolé pour le manque de précisions
OriginalL'auteur Ahmad | 2014-03-12
Vous devez vous connecter pour publier un commentaire.
Utilisation entrySet à la remise des clés. Boucle à travers les entrées et créer un Utilisateur pour chaque touche.
ouais, ça pourrait être mieux que nous n'utilisons pas le
JsonElement
sOriginalL'auteur Max Meijer
À l'aide de keySet() directement exclut la nécessité d'itération:
OriginalL'auteur Zon
Votre JSON est assez simple, de sorte que même le tri manuel des méthodes (comme la création de cartes de cordes etc pour le type) ne fonctionne correctement.
Complexes JSONs(où il y a beaucoup d'objets complexes et imbriquées les listes des autres objets complexes à l'intérieur de votre JSON), vous pouvez créer des POJO pour votre JSON avec un outil comme http://www.jsonschema2pojo.org/
Et puis juste :
OriginalL'auteur nishantbhardwaj2002