[英]Gson deserialization throws a casting error
I am trying to use the Gson library to deserialize a Json object, everything works out to be fine but this one data type and class is giving me errors 我正在尝试使用Gson库反序列化Json对象,一切正常,但是这种数据类型和类给我错误
E/AndroidRuntime(11573): java.lang.ClassCastException: java.util.ArrayList cannot be cast to frameWork.DataManager.Token E / AndroidRuntime(11573):java.lang.ClassCastException:java.util.ArrayList无法转换为frameWork.DataManager.Token
Sample Json: 示例Json:
[{"ID":-1,"Token":"APA91bFQdK7qVJheMBsulWBYYVAan5AwLyMT5cL_BYaoDXxlDGoxabZ0XRnn6osNtmA1KvDOFb3mHkFDpXJ_zxshFSLY0cbt0dMmSZFDCXkDKfha2M_TRMwyB86c38do5Ngje_AOHfasfasfasfafasfascascrvfbdfbdfbfsfafasfasfasfaok","OS":"Android","Application":"Merchant"}]
Class object 类对象
public class Token {
public int ID;
public String Token;
public String OS;
public String Application;
}
Actual Code where result is the Json String 结果为Json字符串的实际代码
Gson gson = new Gson();
this.mainScreenActivity.dataStorageManager.deviceToken = gson.fromJson(
result, new TypeToken<List<Token>>() {
}.getType());
Thoughts? 思考?
You are using a 您正在使用
new TypeToken<List<Token>>
You should be assigning the return value of Gson#fromJson
to a 您应该将Gson#fromJson
的返回值分配给
List<Token>
not a 不是
Token
which 哪一个
this.mainScreenActivity.dataStorageManager.deviceToken
seems to be. 似乎是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.