0
我想实现反序列化来解析json对象作为字符串,但我的自定义反序列化类没有被调用。反序列化JSON对象字符串Android
JSON这需要分析
我Deserializable类
public class MyDeserializer implements JsonDeserializer<StudentData> {
@Override
public StudentData deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) {
try {
String content = je.getAsJsonObject().get("student").getAsString();
return new Gson().fromJson(content, StudentData)
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
注册我的解串器: -
MyDeserializer myDeserializer = new MyDeserializer();
Gson gson = new GsonBuilder().registerTypeAdapter(NotificationResponse.class, myDeserializer).create();
mRestAdapter = new RestAdapter.Builder().setServer(baseUrl).setConverter(new GsonConverter(gson)).setLogLevel(RestAdapter.LogLevel.FULL).setRequestInterceptor(new RequestInterceptor()
{
@Override
public void intercept(RequestFacade requestFacade) {
}
}).build();
检查:http://stackoverflow.com/questions/26814673/android-jsonarray-to-arraylist/26814776#26814776 – 2014-12-05 06:31:53
我的问题是,自定义解串器不会被调用。 – swati 2014-12-05 06:34:08
要正确实现你应该使用你创建的相同的“gson”对象来调用“fromGson()”函数?否则,每次像新的Gson()都不会调用你的Desiralizer类时就会初始化它 – 2014-12-05 07:07:46