最近,我尝试在我的项目中使用Rxjava和Retrofit,但我厌倦了服务器返回的不规则数据。例如,获取列表的接口可能返回: [ {"title":"title1","desc":"desc1"}, {"title":"title2","desc":"desc2"}, {"title":"title3","desc":"desc3"} ]
和它可能返回: {"message":"error msg","status":"failed"}
所以,如果我用Observable<Response<List<Entity>>>
解析的结果,当它返回的JSONObject,将反之亦然failed.And。 我想知道如何处理这种情况。如何用Gson,Rxjava和Retrofit来解释不规则的Json
另一个接口返回奇怪的数据是: { "status":"success", "message":"success msg", "data":"{\"userName\":\"name\",\"userId\":\"2016\"}" }
在这种情况下,我认为data
应该是一个JsonObject
,但它返回一个字符串,所以我不能使用 public class HttpResponse<T>{ private String status; private String message; private T data; }
解析result.Because它可以不解析字符串data
分成User
实体
有没有办法解决这个问题?
因为我使用改造为网络架构:'''改造改型=新Retrofit.Builder() .baseUrl(的baseUrl) .client(客户端) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .addConverterFactory( GsonConverterFactory.create(gson)) .build();''' – Even2015
所以这些方法可能不适合我的情况。 – Even2015