J'ai un service d'où je reçois une réponse de chaîne JSON comme comme indiqué ci-dessousConversion Nested JSON en notation point JSON
{
"id": "123",
"name": "John"
}
Je consume l'appel de repos à l'aide HttpClient et convertit la chaîne JSON à Map<String, String>
comme comme le montre au dessous de.
String url= "http://www.mocky.io/v2/5979c2f5110000f4029edc93";
HttpClient client = HttpClientBuilder.create().build();
HttpGet httpGet = new HttpGet(url);
httpGet.setHeader("Content-Type", "application/json");
HttpResponse httpresponse = client.execute(httpGet);
String response = EntityUtils.toString(httpresponse.getEntity());
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = mapper.readValue(response, new TypeReference<Map<String, String>>(){});
La conversion de chaîne JSON à HashMap
fonctionne très bien, mais en fait mon exigence était parfois il peut y avoir une certaine JSON imbriqué dans le principal JSON, par exemple dans le ci-dessous JSON j'ai une clé address
supplémentaire qui est encore un json imbriqué ayant city
et town
détails.
{
"id": "123",
"name": "John",
"address": {
"city": "Chennai",
"town": "Guindy"
}
}
Si JSON imbriquée est que je dois la faire JSON comme comme indiqué ci-dessous
{
"id": "123",
"name": "John",
"address.city": "Chennai",
"address.town": "Guindy"
}
Actuellement, je suis en utilisant la bibliothèque jackson, mais ouvert à toute autre bibliothèque qui me donnera cette fonction sur box
Quelqu'un peut-il m'aider en donnant une suggestion à ce sujet.
@SharaonBenAsher Merci pour la réponse, ne nous avons cette fonctionnalité dans une bibliothèque de la boîte –
pas à ma connaissance –
mais comment je vais identifier le json imbriqué dans le json principal ...... devrais-je itérer le json principal et vérifier pour json imbriqué ..... Pouvez-vous me donner un exemple –