Я пытаюсь использовать JSON с использованием retrofit2 и GSON.Как подготовить результаты JSON в Retrofit2 (перед отправкой в GsonConverterFactory)
Ниже приведен ответ, предоставленный сервером. Обратите внимание, что значение «d» является строкой действительного JSON (после удаления косых черт).
{ "d": " [{\" Число \ ": \" 2121 \ "\ "NumberOfAppearances \": 2, \ "Призы \":
[{\" DrawDate \ ": \" \/Дата (1439654400000) \/\ ", \" PrizeCode \ ": \" S \ "}, {\" DrawDate \ ": \" \/Date (874771200000) \/\ ", \ «PrizeCode \»: \ «S \»}]}] "}
есть ли способ использовать retrofit2 для preparse в в JSON во время вызова retrofitService, чтобы получить объекты внутри значения г ?
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
//is there anything i can do here to do preparsing of the results?
.addConverterFactory(GsonConverterFactory.create())
.build();
IQueryLocations = retrofit.create(IMyQuery.class);
//currently GsonResults is the string value of d, instead of the JSON objects
Call<GsonResult> result = IMyQuery.doQuery("2121");
В идеале я хотел бы вставить вызов метода перед addConverterFactory, чтобы сделать preparsing
выходе из метода preparsing будет какая-то вещь, как в следующем:
{ «г» : [{«Number»: «2121», «NumberOfAppearances»: 2, «Призы»:
[{«DrawDate»: 1439654400000, «PrizeCode»: «S»}, {«DrawDate»: 874771200000, «PrizeCode ":" S "}]}]}
Это не представляется возможным preparse реакцию, как у вас нет ответ в начале. Таким образом, самый простой способ - получить исходный ответ от модификации, а затем проанализировать в соответствии с вашими потребностями. –