2014-08-06 6 views
-1

следующее тело ответа на клиенте отдыха в формате 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-классу.

советы Надежда, спасибо

+0

JSON у вас есть массив JSON. Вы пытаетесь десериализовать объект Java, который соответствует объекту JSON. –

ответ

0

там, кажется, несоответствие с JSon строки и классом.

ваша строка JSON

[ 
    { 
    "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 
    } 
] 

должно быть, как это основано в классе

[ 
    { 
    "total": 4, 
    "info" : 
    [ 
    { 
    "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 
    } 
    ] 
} 
] 
+0

Ker p pag, ваш образец класса не имеет ничего общего с json. – user3705517

+0

посмотреть на фигурные скобки –

+0

о, я видел, thx – user3705517

Смежные вопросы