私は改造2.1.0で次のjsonオブジェクトを解析しようとしていますが、フィールドに何もデータがない理由はわかりませんデータ常に空です。jsonオブジェクトを配列で更新する
{
"status": "OK",
"message": "Upload succesfull",
"data": [
{
"channel": "madrid",
"date": "20161212221",
"metadata": {
"id": "tvmadrid",
"channel_id": "tvmadrid.com",
"channel_name": "mad",
},
"promos": []
},
{
"channel": "barca",
"date": "20161233232",
"metadata": {
"id": "tvbarca",
"channel_id": "tvbarca.com",
"channel_name": "barca",
},
"promos": []
}
]
}
マイモデルクラスはこちらです。ここ
TvChannel
public class TvChannel {
private String status;
private String message;
private Data[] data;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Data[] getData() {
return data;
}
public void setData(Data[] data) {
this.data = data;
}
@Override
public String toString() {
return "status " + status + "\n"
+ "message " + message + "\n"
+ "Data " + data.toString();
}
}
は予め
public void getTvChannel(User user, MultipartBody.Part body) {
//user.getData().getAutenticate(),
Call<TvChannel> callTvChannel = getAPI().listTvChannel(user.getData().getAutenticate(), body);
callTvChannel.enqueue(new Callback<TvChannel>() {
@Override
public void onResponse(Call<TvChannel> call, Response<TvChannel> response) {
if (response.isSuccessful()) {
Log.d(TAG, "body to string: " + response.body().getStatus());
TvChannel tvChannel = response.body();
ArrayList<Data> datas = new ArrayList<Data>(Arrays.asList(response.body().getData()));
Log.d(TAG + " getTvChannel ", " onResponse: status: " + tvChannel.getStatus() + " message: " + tvChannel.getMessage());
for (Data data : datas) {
Log.d(TAG,data.toString());
}
} else {
Log.d(TAG + " getTvChannel", " onResponse " + "Error Code " + response.code());
}
}
@Override
public void onFailure(Call<TvChannel> call, Throwable t) {
Log.d(TAG + " getTvChannel ", " onFailure " + " Didn't work " + t.getMessage() + " " + t.getCause() + " \n" + Arrays.toString(t.getStackTrace()));
}
});
}
おかげAPIを呼び出す方法です。
ArrayList の代わりに、モデル自体に – Ayaanp
このサイトを使って 'JSOn'を' POGO'に変換してください。http://www.jsonschema2pojo.org/ – sushildlh
私はこの問題を解決しました。フィールド**データ**空を検索していて、それが問題の原因となっていたものもあります。みんなありがとう! – kamboj