2017-08-12 16 views
-5

私はいくつかの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(); 
    } 
} 

}

+0

グーグルに掘り下げると、多くの回答が見つかります。何らかのエラーがあった場合は投稿してください –

答えて

1

です。

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; 
} 

} 

クラス2:

public class 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; 
} 

} 

クラス3:

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; 
} 

} 

クラス4:

public class Response { 

@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; 
} 

} 

今すぐあなたの改造にResponse.classを設定する必要があります。

+0

私はすべてのpojoクラスを持っていますが、私はこのJsonの解析をしたい –

関連する問題