/ / Comment convertir un objet JSON en une carte d'objets? - java, json

Comment convertir un objet JSON en un objet map? - java, json

J'ai essayé de créer une dynamiquesystème de saisie de texte pour pouvoir traduire plus facilement les programmes futurs dans différentes langues. Je suis assez nouveau en Java, je ne suis donc pas au courant des types de données qu’il existe, mais serait-il possible de convertir un objet JSON (en utilisant simple.json) en quelque chose que je pourrais facilement référencer et concise?

Par exemple, avec une chaîne JSON:

{
"name": "John Doe",
"country": "US",
"age": 25,
"family": {
"immediate": {
"spouse": "Johnette Doe",
"children": [
{
"name": "Jimbles Doe",
"age": "213"
}
]
}
}
}

Comment pourrais-je configurer mon fichier afin que je puisse le référencer comme suit:

JohnClass.family.immediate.children[0].name

et obtenir une valeur en retour?

Réponses:

1 pour la réponse № 1

Get Jackson (utilisez la dépendance maven ou téléchargez le fichier jar): http://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.5.0

Code non testé ci-dessous, et pour être honnête, un punt sans effort, juste pour vous aider à trier rapidement.

Instanciez JSONMapper (idéalement dans un constructeur):

ObjectMapper mapper = new ObjectMapper();

Convertir en Hashmap (vous pouvez également convertir en un autre objet):

Map map = mapper.readValue("JSON_STRING_HERE", new TypeReference<HashMap>(){});

Accès comme ceci:

map.get("family").get("immediate").get("children").get(0).get("name");

Vous pouvez également simplement utiliser JSONObject qui implémente également l’interface Map, mais si vous vous habituez à le faire de cette manière, vous saurez comment le faire pour d’autres objets.