следующее тело ответа на клиенте отдыха в формате JSONJSON привязки данных к классу Java
[
{
"total": 4
},
{
"id": "93985",
"v": "HDB Hougang",
"a": "540 Hougang Avenue 8. (S)530540",
"t": "1",
"pid": "3522",
"aid": "84527",
"lid": "93985",
"cat": "99",
"x": "103.891085",
"y": "1.377791",
"bld": "1",
"ad": "0",
"tbiz": "1",
"hsp": 1
},
{
"id": "250286",
"v": "SCDF Bomb Shelter @ 540 Hougang Avenue 8",
"a": "540 Hougang Avenue 8. (S)530540",
"t": "1",
"pid": "49896",
"aid": "84527",
"lid": "250286",
"cat": "1073",
"x": "103.891085",
"y": "1.377791",
"bld": "0",
"ad": "0",
"tbiz": "1",
"hsp": 1
},
{
"id": "386730",
"v": "Everhealth Medical Centre Pte Ltd",
"a": "540 Hougang Avenue 8. (S)530540",
"t": "2",
"pid": "3522",
"aid": "84527",
"lid": "93985",
"cat": "508",
"cid": "189715",
"b": "1",
"tel": "63850815",
"x": "103.891085",
"y": "1.377791",
"bld": "0",
"ad": "0",
"pcn": "HDB Hougang",
"hsp": 1
},
{
"id": "370197",
"v": "Glory Centre Community Services Association",
"a": "540 Hougang Avenue 8. (S)530540",
"t": "2",
"pid": "3522",
"aid": "84527",
"lid": "93985",
"cat": "133",
"cid": "179210",
"b": "1",
"tel": "63863039",
"x": "103.891085",
"y": "1.377791",
"bld": "0",
"ad": "0",
"pcn": "HDB Hougang",
"hsp": 1
}
]
корреспондент Java класса
public class StreetDirectoryDetail implements Serializable {
private int total;
List<StreetDirectoryInfo> info =new ArrayList<StreetDirectoryInfo>();
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public class StreetDirectoryInfo{
private String id;
private String v;
private String a;
private String t;
private String pid;
private String lid;
private String cat;
private double x;
private double y;
private String ad;
private String bld;
private String tbiz;
private String hsp;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
//...the other getter and setter.//
}
}
И называют
String url="<some valid url>";
restTemplate.getMessageConverters().add(
new MappingJackson2HttpMessageConverter());
StreetDirectoryDetail result = restTemplate.getForObject(url,StreetDirectoryDetail.class);
Я использую restTemplate весны, чтобы преобразовать json - эквивалентный класс java. Я пытаюсь с классом java выше, я не получил «результат», но напрямую перехожу к response.close() без ошибки throw. Я подозреваю, что это связано с тем, что структура класса StreetDirectoryDetail не подходит для привязки данных от json к java-классу.
советы Надежда, спасибо
JSON у вас есть массив JSON. Вы пытаетесь десериализовать объект Java, который соответствует объекту JSON. –