私はいくつかのjson応答を持っています。 "成功"、 "コード": "200"、 "メッセージ":{ "古歌":[ { "ID": retrofit2 { "ステータス" で、この応答を解析するために私を助けて」 8" 、 "名前": "TTTT"、 "album_image": "管理/アップロード/ default_album_300_g4.png" }、{ "ID": "9"、 "名前": "GGGGG"、 "album_image": "admin/upload/Jellyfish.jpg" } ]、 "最新の曲":[ { "id": "9"、 "名前": "GGGGG"、 "album_image": "管理者/アップロード/ Jellyfish.jpg" } ] }} 私のJSONのすべてのPOJOクラスがある.....retrofit2を使ってJsonを解析する方法
public class Example {
@SerializedName("status")
@Expose
private String status;
@SerializedName("code")
@Expose
private String code;
@SerializedName("messages")
@Expose
private Messages messages;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Messages getMessages() {
return messages;
}
public void setMessages(Messages messages) {
this.messages = messages;
}
}
public class Messages extends ArrayList<Messages> {
@SerializedName("Old Songs")
@Expose
private List<OldSong> oldSongs = null;
@SerializedName("Latest Songs")
@Expose
private List<LatestSong> latestSongs = null;
public List<OldSong> getOldSongs() {
return oldSongs;
}
public void setOldSongs(List<OldSong> oldSongs) {
this.oldSongs = oldSongs;
}
public List<LatestSong> getLatestSongs() {
return latestSongs;
}
public void setLatestSongs(List<LatestSong> latestSongs) {
this.latestSongs = latestSongs;
}
}
public class OldSong {
@SerializedName("id")
@Expose
private String id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("album_image")
@Expose
private String albumImage;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAlbumImage() {
return albumImage;
}
public void setAlbumImage(String albumImage) {
this.albumImage = albumImage;
}
}
public class LatestSong {
@SerializedName("id")
@Expose
private String id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("album_image")
@Expose
private String albumImage;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAlbumImage() {
return albumImage;
}
public void setAlbumImage(String albumImage) {
this.albumImage = albumImage;
}
}
マイMainActivityクラスを使用すると、以下のようなクラスをクリートする必要が...
public class MainActivity extends AppCompatActivity implements
View.OnClickListener {
Button send;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
send=(Button)findViewById(R.id.send);
send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
/**
* Checking Internet Connection
*/
if (InternetConnection.checkConnection(getApplicationContext())) {
final ProgressDialog dialog;
/**
* Progress Dialog for User Interaction
*/
dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("json load");
dialog.setMessage("getting json");
dialog.show();
//Creating an object of our api interface
ApiService api = RetroClient.getApiService();
/**
* Calling JSON
*/
Call<Example> call = api.getMyJSON();
/**
* Enqueue Callback will be call when get response...
*/
call.enqueue(new Callback<Example>() {
@Override
public void onResponse(Call<Example> call, Response<Example> response) {
dialog.dismiss();
if(response.isSuccessful()) {
//want here to parse response
} else {
Snackbar.make(parentView,"something wrong" , Snackbar.LENGTH_LONG).show();
}
}
@Override
public void onFailure(Call<Example> call, Throwable t) {
dialog.dismiss();
}
});
} else {
Snackbar.make(parentView, "internet_connection_not_available", Snackbar.LENGTH_LONG).show();
}
}
}
グーグルに掘り下げると、多くの回答が見つかります。何らかのエラーがあった場合は投稿してください –