由网友(瑶瑶敲可爱)分享简介:我有希望获得JSON作为后一个特定的web服务,并会吐回一个XML。我使用的是改造为我所有的网络调用。这里是我设置改造适配器与XML转换器:I have a particular webservice that expects a JSON as post, and will spit back an XML. I'...
我有希望获得JSON作为后一个特定的web服务,并会吐回一个XML。我使用的是改造为我所有的网络调用。这里是我设置改造适配器与XML转换器:
I have a particular webservice that expects a JSON as post, and will spit back an XML. I'm using Retrofit for all my network calls. Here is how I set the Retrofit adapter with the XML converter:
mRestAdapter = new RestAdapter.Builder()
.setEndpoint(getBaseUrl())
.setConverter(new SimpleXMLConverter())
.build();
正如你所看到的,我没有使用GSON转换器。如何管理张贴任何JSON?谢谢!
As you can see, I'm not using the Gson converter. How can I manage to post any JSON? Thanks!
推荐答案
创建自定义转换
。这将使用不同的转换器,序列化和反序列化。
Create custom Converter
. That will use different converters for serialization and deserialization.
public class MixedConverter implements Converter {
private Converter mSerializer;
private Converter mDeserializer;
public MixedConverter(Converter serializer, Converter deserializer) {
mSerializer = serializer;
mDeserializer = deserializer;
}
@Override
public Object fromBody(TypedInput body, Type type) throws ConversionException {
return mDeserializer.fromBody(body, type);
}
@Override
public TypedOutput toBody(Object object) {
return mSerializer.toBody(object);
}
}
用法:
.setConverter(new MixedConverter(new SimpleXMLConverter(), new GsonConverter(gson)));
相关推荐
最新文章