我有一个Java类,用户:
public class User
{
int id;
String name;
Timestamp updateDate;
}
Run Code Online (Sandbox Code Playgroud)
我收到一个包含来自Web服务的用户对象的JSON列表:
[{"id":1,"name":"Jonas","update_date":"1300962900226"},
{"id":5,"name":"Test","date_date":"1304782298024"}]
Run Code Online (Sandbox Code Playgroud)
我试图编写一个自定义反序列化器:
@Override
public User deserialize(JsonElement json, Type type,
JsonDeserializationContext context) throws JsonParseException {
return new User(
json.getAsJsonPrimitive().getAsInt(),
json.getAsString(),
json.getAsInt(),
(Timestamp)context.deserialize(json.getAsJsonPrimitive(),
Timestamp.class));
}
Run Code Online (Sandbox Code Playgroud)
但我的解串器不起作用.如何为Gson编写自定义JSON反序列化器?
我使用Gson解析JSON响应时遇到问题.
JSON字符串:
response: [
2, {
owner_id: 23972237,
album_id: 25487692,
title: 'album not new'
}, {
owner_id: 23972237,
album_id: 25486631,
title: '???'
}
]
Run Code Online (Sandbox Code Playgroud)
我有这两个班:
public class VkAudioAlbumsResponse {
public ArrayList<VkAudioAlbum> response;
public VkError error;
}
public class VkAudioAlbum {
public int owner_id;
public int album_id;
public String title;
}
Run Code Online (Sandbox Code Playgroud)
但是在使用Gson解析时我有一个异常.我知道这是因为响应数组的第一个元素不是一个对象,而是整数.
所以问题是,我能以某种方式解决它吗?