2014-09-26 6 views
0

я хочу разобратьиспользование ObjectMapper синтаксического анализа строки JSON объекта

[{'lng':116.298871, 'lat':39.991466},{'lng':116.298871, 'lat':39.990079},{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]] 

в регионе или координировать объект, но не удалось, я использую objectMapper.readValue (str, Coordinate[].class); и objectMapper.readValue (str, Region.class); все не завершено. в регионе

public class Region implements Serializable{  
    private static final long serialVersionUID = 1233772272079216259L;  
    private List<Coordinate> boudary;   
    public List<Coordinate> getBoudary() { 
     return boudary; 
    } 
    public void setBoudary(List<Coordinate> boudary) { 
     this.boudary = boudary; 
    } 
} 

и

package com.compass.goverment.resource.bean.logic; 
    public class Coordinate {   
     private double lng;   
     private double lat;     
     public Coordinate (double lng, double lat) {  
      super(); 
      this.lng = lng; 
      this.lat = lat; 
     } 

     public double getLng() {   
      return lng; 
     }  

     public void setLng (double lng) {   
      this.lng = lng; 
     }     
     public double getLat() {   
      return lat; 
     }     
     public void setLat (double lat) {    
      this.lat = lat; 
     }      
    } 

Как я могу использовать ObjectMapper для разбора строки JSON в объект области?

ответ

0

иметь конструктор по умолчанию в классе координат, то

String json= "[{'lng':116.298871, 'lat':39.991466},{'lng':116.298871, 'lat':39.990079} 
    ,{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]]"; 
Gson gson = new Gson(); 
java.lang.reflect.Type collectionType= new TypeToken<List<Coordinate>>() {}.getType(); 
List<Coordinate> userList = gson.fromJson(json, collectionType); 
System.out.println(userList); 
+0

что TypeToken? –

+0

класс com.google.gson.reflect – SparkOn

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