2016-10-13 4 views
-2
String finalData = "{"Books":[{"name":"Genesis","chapters1":["Chapter No:1","Chapter No:2","Chapter No:3","Chapter No:4","Chapter No:5","Chapter No:6","Chapter No:7","Chapter No:8","Chapter No:9","Chapter No:10"]}]}; 



private void ChaptersData(String finalData) { 

     try { 
      JSONObject mainchapter=new JSONObject(finalData); 
      JSONArray chapterdata=mainchapter.getJSONArray("Books"); 
      chapterList=new String[chapterdata.length()]; 
      for (int j=0;j<=chapterdata.length();j++){ 
       JSONObject chapInterData=(JSONObject) chapterdata.get(j); 

       String chapter=chapInterData.getString(0); 

       Log.e("Chapter", " "+chapter); 
       chapterList[j]=chapter; 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 

どのように私は、インサートdata でJSONオブジェクトの値として値の配列を取得する方法アンドロイド今

JSONArray chap = chapInterData.getJSONArray("chapters1"); 
for(int k =0;k<chap.length();k++) 
{ 
    String data=chap.getString(k); 
    Log.e("data", " "+data); 
} 

ループ

のためにあなたの内側にこのコードを入れJSONオブジェクト

答えて

0

からの章を得ることができますあなたの希望でarray

0

Google Gsonライブラリはmoです信頼性とJSONの解析のための使いやすい再:

コンパイル 'com.google.code.gson:gson:2.7'

String finalData = "{\"Books\":[{\"name\":\"Genesis\",\"chapters\":[\"Chapter No:1\",\"Chapter No:2\",\"Chapter No:3\",\"Chapter No:4\",\"Chapter No:5\",\"Chapter No:6\",\"Chapter No:7\",\"Chapter No:8\",\"Chapter No:9\",\"Chapter No:10\"]}]}"; 

private void ChaptersData(String finalData) { 
    Gson gson = new Gson(); 

    BookModel bookModel = gson.fromJson(finalData, BookModel.class); 
    BookModel.Books[] books = bookModel.getBooks(); 

    for (BookModel.Books book : books) { 
     String[] chapters = book.getChapters(); 
     for (String chapter : chapters) { 
      Log.e("Chapter", " " + chapter); 
     } 
    } 
} 

class BookModel { 
    private Books[] Books; 

    public Books[] getBooks() { 
     return Books; 
    } 

    class Books { 
     private String name; 

     private String[] chapters; 

     public String getName() { 
      return name; 
     } 

     public void setName(String name) { 
      this.name = name; 
     } 

     public String[] getChapters() { 
      return chapters; 
     } 

     public void setChapters(String[] chapters1) { 
      this.chapters = chapters1; 
     } 
    } 
} 

アプリbuild.gradle依存タグにこれを追加します

関連する問題