我在将Android中的JSON字符串转换为对象时遇到问题.以下是JSON结构和Java类:
JSON:
{
"code":"SUCCEED",
"message":"",
"result":{
"ccahUserId": 111,
"ccahUserName":"your_name",
"userFirstName":"your_first_name",
"userLastName":"your_last_name",
//others
}
Run Code Online (Sandbox Code Playgroud)
Java类:
public class Result<T>{
public String code;
public String message;
public T result;
}
public class DeviceSetting
{
public long ccahUserId;
public String ccahUserName;
public String userFirstName;
public String userLastName;
//other members
}
Run Code Online (Sandbox Code Playgroud)
活动:
Gson gson = new Gson();
Result<DeviceSetting> setting = gson.fromJson(result, Result<DeviceSetting>.class);
Run Code Online (Sandbox Code Playgroud)
当我反序列化JSON字符串时,代码和消息字段很好,但结果字段为空.我还不熟悉Gson,所以请帮忙解决这个问题?
提前致谢.
可能该result
字段为null,因为它依赖于type参数Result
.
从GSON文档中获取Gson.fromJson(JsonElement, Class<T>)
(粗体是我的):
此方法将Json读取从指定的解析树反序列化为指定类型的对象.如果指定的类是泛型类型,则不适合使用,因为由于Java的Type Erasure特性,它不具有泛型类型信息.因此,如果所需类型是泛型类型,则不应使用此方法.请注意,如果指定对象的任何字段是泛型,则此方法可以正常工作,只是对象本身不应该是泛型类型.对于对象是泛型类型的情况,请调用
fromJson(JsonElement, Type)
.
归档时间: |
|
查看次数: |
3140 次 |
最近记录: |