Frage

Ich habe die folgende JSON -Antwort von einer URL:

stdClass Object
(
    [uname] => Eamorr
    [phoneNumber] => 082732938293
    [fname] => Steve
    [lname] => Hearst
    [sex] => M
    [roofSignNumber] => 230948
    [vehicleReg] => 07D2892
    [vehicleMake] => Toyota
    [vehicleModel] => Avensis
    [vehicleNumPassengers] => 4
    [profilePic] => -1
    [online] => 1
    [status] => 
    [picList] => Array
        (
        )

    [lat] => 
    [lng] => 
    [reputation] => 0.63
    [numPagesComments] => 1
    [last5comments] => Array
        (
            [0] => stdClass Object
                (
                    [comment] => hello5
                    [fromUname] => Eamorr
                    [profilePic] => -1
                    [time] => 1290254763
                    [id] => 23628mr28018onm647z2
                )

        )

)

Und so mache ich den Analyse:

                      Gson json=new Gson();
                      try{
                          Driver driver=json.fromJson(response,Driver.class);
                          Log.i("json",driver.profilePic);
                      }catch(JsonParseException e){
                          Log.i("error","JsonParseException");
                      }

Wenn ich den Code ausführe, erhalte ich diesen Fehler: Fehler/AndroidRuntime (823): java.lang.runtimeexception: No-Args-Konstruktor für die Klasse com.project.driver.driver $ post existiert nicht. Registrieren Sie einen InstaneCreator bei GSON für diesen Typ, um dieses Problem zu beheben.

Ich habe Probleme, einen geeigneten Fahrer zu definieren. Java für den Parse. Wenn ich das Feld "Last5 -Kompetenz" weglässt, funktioniert alles gut, es ist nur das "Last5 -Cord" -Bit, mit dem ich Probleme habe ...

Hier ist Driver.java:

public class Driver {
    public String uname="";
    public String phoneNumber="";
    public String fname="";
    public String lname="";
    public String sex="";
    public String roofSignNumber="";
    public String vehicleReg="";
    public String vehicleMake="";
    public String vehicleModel="";
    public String vehicleNumPassengers="";
    public String profilePic="";
    public String online="";
    public String status="";
    public String[] picList;
    public String lat="";
    public String lng="";
    public String reputation="";
    public String numPagesComments="";

    //having problems below this line 
    public Post[] last5comments;

    public class Post{
        public String comment="";
        public String fromUname="";
        public String profilePic="";
        public String time="";
        public String id="";
    }
}

Jede Hilfe bei der Definition eines geeigneten Fahrers. Java wird sehr geschätzt.

Danke im Voraus,

War es hilfreich?

Lösung

Ich habe es geschafft, dieses Problem zu lösen, indem ich mich angesehen habe:

http://sites.google.com/site/gson/gson-user-guide#toc-nest-classes-including-inner-clas

(Abschnitt über "verschachtelte Klassen (einschließlich innerer Klassen)"))

Ich musste nur das Postobjekt statisch machen.

public static class Post{
        public String comment="";
        public String fromUname="";
        public String profilePic="";
        public String time="";
        public String id="";
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top