Я использую модификацию, чтобы сделать вызов api. Объект верхнего уровня называется в зависимости от параметров запроса запроса. Например, запрос, как это:Модернизация, имя объекта json объекта верхнего уровня имя
api.somewebsite.com/1.0/mix_info?mix_id=69
возвращает ответ, как это:
{"69":{
"mix_id":"69",
"mix_title":"A Title",
"mix_file":"https:example.com/mp3",
"mix_genres":"House,Pop",
"mix_dj_id":"57",
"number_votes":"390",
"station":"1"
}
}
Херес screenie, а также, что своего рода показывает формат: http://prnt.sc/axltcd
В основном, в зависимости на число, переданное в URL-адрес mix_id=
, запрос становится именем объекта json верхнего уровня, возвращаемого в ответ.
я был в состоянии взломать вместе что-то вроде работает:
У меня есть класс модель Response, которая имеет переменную-член, который является верхним объектом уровня, и я использую @SerializedName ДООСНАСТКИ в («69») в явную форме задайте имя. Это, конечно, будет работать только для запроса с идентификатором 69, иначе ответ возвращает нулевой объект.
Это выглядит следующим образом:
public class Response {
@SerializedName("69")
private _69 _69;
}
Во всяком случае, я искал способ, чтобы правильно обработать эти странно отформатированные ответы. Как это будет сделано?
Как насчет сериализации HashMap? – plalx
.. что об этом – Orbit
Ну 'hashMap.put ('yourKey', yourData); serialize (hashMap) ' – plalx