我有一个服务,从那里我得到一个 json 字符串响应,如下所示
{
"id": "123",
"name": "John"
}
我使用 HttpClient 使用其余调用并将 json 字符串转换Map<String, String>
为如下所示。
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>>(){});
从 json 字符串到的转换HashMap
工作正常,但实际上我的要求是有时在主 json 中可以有一些嵌套的 json,例如在下面的 json 中,我有一个额外的address
键,它又是一个嵌套的 json 具有city
和town
详细信息。
{
"id": "123",
"name": "John",
"address": {
"city": "Chennai",
"town": "Guindy"
}
}
如果有任何嵌套的 json,我需要使 json 如下所示
{
"id": "123",
"name": "John",
"address.city": "Chennai",
"address.town": "Guindy"
}
目前我正在使用杰克逊库,但开放给任何其他库,这将给我这个功能开箱即用
任何人都可以通过对此提出一些建议来帮助我。