我有一个关于使用 Square 的 Retrofit 进行 Android 开发的问题。
假设我有一个 Response 对象,它实际上是一个HashMap<String, String>
object.
有没有办法获得HashMap
来自该 Retrofit 对象的对象?
Thanks!
Response
对象包含有关从服务器返回的响应的各种信息。
如果你的意思是响应主体是HashMap
你可以解析正文success()
被调用,或者在构建时注册类型适配器RestAdapter
并编写反序列化器来解析和填充HashMap
.
private RestAdapter getRestAdapter(){
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(new TypeToken<HashMap<String, String>>(){}.getType(), new MyHashMapDeserializer());
RestAdapter.Builder builder = new RestAdapter.Builder();
builder.setClient(new OkClient());
builder.setLogLevel(RestAdapter.LogLevel.FULL);
builder.setExecutors(Executors.newCachedThreadPool(), new MainThreadExecutor());
builder.setConverter(new GsonConverter(gsonBuilder.create()));
builder.setEndpoint(API_END_POINT_URL);
return builder.build();
}
然后创建新类(或内部类)implements JsonDeserializer<HashMap<String, String>>
并实现您的反序列化逻辑。
确保你适应了K,V
类型以满足您的需求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)