Retrofit response parsing suggestion
我在翻新模型类中解析JSON响应。
我的问题是,响应不是恒定的,这意味着有些时候它将带有2个参数,而有些时候会更多,
经验值:
第一个回应:
1 2 3 4 5 6 7 8 9 | { "error": true, "data": { "order_id": [ "Order Id does not exists" ] }, "code": 500 } |
第二反应:
1 2 3 4 5 6 7 | { "error": false, "data": [ "Order #P have sent successfully" ], "code": 200 } |
因此,在第一个响应中,如果不存在订单ID,那么在响应中,我将获得order_id作为键,但是在第二个响应中,由于成功,我将不会获得。
***我可以通过要求后端人员更改响应来解决此问题,但是如果万一有其他前缀的api响应,如果我将得到这种结果,那么我将如何处理呢?
对于这种情况,您应该编写自定义
恕我直言,总的来说,使用同一密钥保存错误信息和非错误信息的想法很糟糕。
您可以像这样使用模型类:
1 2 3 4 5 6 7 | public class ResponseModel { private boolean error; private int code; private JsonElement data; // Setters, getters, etc. ... } |
然后,您可以检查错误和代码值,并以自己喜欢的方式处理数据对象。 您提到的两种情况都适用于此模型。
当您知道内部有哪些数据时,甚至可以将此