2011-10-06 153 views
0

当我试图反序列化JSON这样:GSON反序列化问题

{ 
    "Token": "", 
    "Error": "Invalid Username or Password", 
    "Location": null 
} 

我得到了一个错误:

10-06 14:51:26.310: DEBUG/LoginActivity(18676): JsonParseException: Expecting object found: "{\"Token\":\"\",\"Error\":\"Invalid Username or Password\",\"Location\":null}" 

我的代码:

LoginResult loginResult = new Gson().fromJson(responseContent, LoginResult.class); 


public class LoginResult { 
    @SerializedName("Token") 
    private String token; 

    @SerializedName("Error") 
    private String error; 

     @SerializedName("Location") 
    private Location location; 

    public String getToken() { 
     return token; 
    } 

    public String getError() { 
     return error; 
    } 

    public Location getLocation() { 
     return location; 
    } 

public class Location { 
    @SerializedName("AssignmentID") 
    private String assignmentID; 

    @SerializedName("LocationName") 
    private String locationName; 

    @SerializedName("Brand") 
    private String brand; 

    @SerializedName("Address") 
    private String address; 

    @SerializedName("Information") 
    private String information; 
} 
} 

什么建议吗?

+0

我已经尝试过您的代码,它毫无例外地完美运行。你确定那里的字符串是你给我们的吗?我试着用“{\”Token \“:\”\“,\”Error \“:\”用户名或密码无效\“,\”位置\“:null}” –

回答

0

我在谷歌抬起头来你的错误,发现错误吐出this text[{"status":"ikas","nid":16,"name":"Mu","year": 2005,"type":"college"}] 在这种情况下,错误是由于物体被封闭在一个阵列。

鉴于此,看起来好像问题在于responseContent中充满了无效的文字反斜杠(错误不仅仅是显示转义的引号,因为它会在第一眼看到)。