我試圖創建一個基於動態響應轉換器
利用改造,至於現在我有2個不同的答案從服務器返回 - 一個表示失敗和一個表示有效響應如何使用同一個適配器\ callabck嘗試解析兩個不同的對象?與改造的JSON響應多個轉換器
0
A
回答
0
如果數據是json數據,則可以將其解析爲java bean。 你可以使用Gson來解析它。
1添加LIB
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.google.code.gson:gson:2.7'
2創建改造 私人改造改型=新Retrofit.Builder() .baseUrl(Api.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build( );
只需添加一個Gson轉換器。
例如,
// success
{"retcode":0,"result":{"vfwebqq":"xxxx"}}
// failed
{"retcode":100,"result":{}}
3創建豆接收數據。
public class Result {
public String retcode;
public Info result;
public static class Info {
public String vfwebqq;
}
}
4然後你可以在改造界面中返回一個bean對象。
@GET("xxx")
Result getHome();
0
其實我不太在乎你在說什麼,你面對的是什麼確切的問題。但是,我腦海中浮現的第一件事就是提供自定義JsonDeserializer。它應該像水木清華這樣的:
public class CustomDeserializer implements JsonDeserializer<List<CustomData>> {
@Override
public List<CustomData> deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
List<CustomData> customDataSet = new ArrayList<>();
Iterator<JsonElement> iterator = ((JsonObject) json).get("data").getAsJsonObject().get(
"records").getAsJsonArray().iterator();
while (iterator.hasNext()) {
JsonElement element = iterator.next();
CustomData customData = ServiceGenerator.mGson.fromJson(element, CustomData.class);
customDataSet.add(customData);
}
return customDataSet;
}
}
這只是其應用於RetrofitBuilder只是爲了讓生活更輕鬆(也許)一個自定義的解析器類的例子。 之後,您需要:根據您的問題
Type listType = new TypeToken<List<CustomData>>() {
}.getType();
mGson = new GsonBuilder().registerTypeAdapter(listType, new CustomDeserializer()).create();
builder =
new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(mGson))
.baseUrl(API_BASE_URL);
retrofit = builder.build();
0
相關問題
- 1. 改造:處理錯誤JSON響應
- 2. 使用JSend格式將JSON響應轉換爲POJO並進行改造?
- 3. GSON解析與改造解析Flickr JSON響應
- 4. 如何處理JSON響應與Rx2Java和改造
- 5. 轉換四方HTTP響應JSON的Java
- 6. Android上的JSON,改造2和轉換器
- 7. 如何將改造響應正文轉換爲JsonObject
- 8. 改造與只含一個整數或字符串簡單的JSON響應
- 9. 改造與字符串響應
- 10. 獲得Html響應與改造
- 11. 聚集多個JSON響應
- 12. 如何從改造響應中獲取JSON ARRAY和JSON對象響應?
- 13. 集成JSON響應轉換的Node.js/Express.js響應
- 14. 多的Json對改造
- 15. 轉換JSON屬性響應BOOL
- 16. Laravel:轉換JSON響應數據
- 17. 將json響應轉換爲javascript數組
- 18. 將JSON響應轉換爲PHP變量
- 19. 如何將AJAX響應轉換爲JSON?
- 20. iOS JSON Twitter響應,轉換爲可變
- 21. Rails json響應。 Int轉換爲日期
- 22. Scrapy json響應轉換utf-8編碼
- 23. 將JSON響應轉換爲Dictonary Swift
- 24. 轉換JSON響應JavaScript數組
- 25. 將xml響應轉換爲json
- 26. 將JSON響應轉換爲HTML
- 27. 轉換fgetcsv響應爲特定JSON
- 28. 錯誤轉換HTTP POST響應於JSON
- 29. 轉換HTTP響應JSON在Ruby中
- 30. 字符串轉換爲從JSON響應
你或許應該提供JSON :) – JamesSwinton