2010-11-03 4 views
0

Что я делаю неправильно, что свойство location не десериализуется?Deserialize anonymous objects

JSON фрагмент из pollinglocation.googleapis.com

... 
"locations":[[{"dataset_id":841, 
       "election_id":2, 
       "id":"841:100001351", 
       "address":{"location_name":"ROBERT S PAYNE SCHOOL", 
          "line1":"1201 Floyd St", 
          "city":"Lynchburg", 
          "state":"VA", 
          "zip":"245011913"}, 
          "directions":"", 
          "polling_hours":"6 AM - 7 PM"}]], 
... 

Java Object

public class PollingLocation { 

public PollingLocation() { 
} 

String status; 
ArrayList<ArrayList<Anonymous>> locations; 

public class Anonymous { 

    public Anonymous() { 
    } 

    String dataset_id; 
    String election_id; 
    String id; 
    Address address; 
} 

public class Address { 

    public Address() { 
    } 

    String location_name; 
    String line1; 
    String city; 
    String stage; 
    String zip; 
    String polling_hours; 
} 
} 

Код, десериализует

PollingLocation obj2 = gson.fromJson(json, PollingLocation.class); 

ответ

0

Все. В частности, вы не можете использовать внутренние классы или классы коллекций.

public class PollingLocation { 

    public PollingLocation() { 
    } 

    String status; 
    Anonymous[][] locations; 

} 

class Anonymous { 

    public Anonymous() { 
    } 

    String dataset_id; 
    String election_id; 
    String id; 
    Address address; 
} 

class Address { 

    public Address() { 
    } 

    String location_name; 
    String line1; 
    String city; 
    String stage; 
    String zip; 
    String polling_hours; 
}