Десериализовать анонимные объекты - PullRequest
0 голосов
/ 03 ноября 2010

Что я делаю не так, что свойство location не десериализовано?

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);

1 Ответ

0 голосов
/ 03 ноября 2010

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

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...