Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用addConverterFactory在改型Android中处理Json和XML响应_Android_Parsing_Retrofit2_Jsonparser - Fatal编程技术网

使用addConverterFactory在改型Android中处理Json和XML响应

使用addConverterFactory在改型Android中处理Json和XML响应,android,parsing,retrofit2,jsonparser,Android,Parsing,Retrofit2,Jsonparser,我希望我的应用程序中有json和xml响应。改装2.0允许您为此类情况添加多个变频器工厂 但这里的秩序似乎是最重要的。在SimpleXmlConverterFactory之上添加JacksonConverterFactory会使改型只接受Json响应,并在遇到XML时抛出异常,反之亦然 下面是如何将多个addConverterFactory添加到改装生成器的代码片段 .addConverterFactory(JacksonConverterFactory.create(objectMapper)

我希望我的应用程序中有json和xml响应。改装2.0允许您为此类情况添加多个变频器工厂

但这里的秩序似乎是最重要的。在SimpleXmlConverterFactory之上添加JacksonConverterFactory会使改型只接受Json响应,并在遇到XML时抛出异常,反之亦然

下面是如何将多个addConverterFactory添加到改装生成器的代码片段

.addConverterFactory(JacksonConverterFactory.create(objectMapper))
                .addConverterFactory(SimpleXmlConverterFactory.create())

您可以将多个转换器工厂合并为一个转换器工厂,请查看改装示例

return new Retrofit.Builder()
                .client(clientBuilder.build())
                .baseUrl(BuildConfig.API_ENDPOINT)
                .addCallAdapterFactory(unAuthorizedHandlingCallAdapterFactory)
                .addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create())
                .addConverterFactory(new QualifiedTypeConverterFactory(JacksonConverterFactory.create(objectMapper), SimpleXmlConverterFactory.create()))
                .build();