【发布时间】:2017-08-12 07:31:56
【问题描述】:
我有一些 json 响应。 帮助我在改造 2 中解析此响应 { “状态”:“成功”, “代码”:“200”, “消息”:{ 《老歌》:[ { “id”:“8”, “名称”:“tttt”, "album_image": "admin/upload/default_album_300_g4.png" }, { “id”:“9”, “名称”:“gggg”, “album_image”:“管理员/上传/Jellyfish.jpg” } ], “最新歌曲”:[ { “id”:“9”, “名称”:“gggg”, “album_image”:“管理员/上传/Jellyfish.jpg” } ] } } 我的 Json 的所有 pojo 类都是.....
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();
}
}
}
【问题讨论】:
-
深入谷歌你会发现很多答案。如果您遇到任何错误,请发布它
标签: android json android-asynctask retrofit2