У меня есть ответ json, и я хочу разобрать его с помощью библиотеки LoganSquare.JSON Parsing With LoganSquare
Это пример массива JSON:
{
"version": 1,
"looks":
[
{
"uuid": 10001,
"img_url": "myUrl",
"stylist": "myName",
"address": "myAddress",
"phone": "myPhone",
"timetable": "myTimeTable",
"latitude": "myLatitude",
"longitude": "myLongitude"
},
{
"uuid": 10002,
"img_url": "myUrl2",
"stylist": "myName2",
"address": "myAddress2",
"phone": "myPhone2",
"timetable": "myTimeTable2",
"latitude": "myLatitude2",
"longitude": "myLongitude2"
}
]
}
И это структура, которая я использовать для синтаксического анализа ответа JSON:
@JsonObject
public class Image
{
@JsonField(name = "_id")
public int uuid;
@JsonField
public String img_url;
@JsonField
public String stylist;
@JsonField
public String address;
@JsonField
public String phone;
@JsonField
public String timetable;
@JsonField
public String latitude;
@JsonField
public String longitude;
@JsonField
private int privateInt;
public int getPrivateInt() {
return privateInt;
}
public void setPrivateInt(int i) {
privateInt = i;
}
@OnJsonParseComplete
void onParseComplete() {
// Do some fancy post-processing stuff after parsing here
}
@OnPreJsonSerialize
void onPreSerialize() {
// Do some fancy pre-processing stuff before serializing here
}
}
В конце, я запросить данные:
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.privateurl.com/", new AsyncHttpResponseHandler() {
@Override
public void onStart() {
// called before request is started
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {
// called when response HTTP status is "200 OK"
String strResponse = new String(response);
try {
images = LoganSquare.parseList(strResponse, Image.class);
} catch (IOException e) {
e.printStackTrace();
}
Toast toast = Toast.makeText(getApplicationContext(), String.valueOf(images.get(0).uuid), Toast.LENGTH_LONG);
toast.show();
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
// called when response HTTP status is "4XX" (eg. 401, 403, 404)
}
@Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
}
Заявление parseList не возвращает ничего ... Как я могу его решить?