2017-12-25 19 views
0

私はStackoverflowを初めて使っています。これが私の最初の質問です。
私はassetsフォルダからjsonファイルからデータを読み込み、その値を配列リストに格納するアプリケーションを開発しています。私はDATA1をしたい、ここで
は私のコードJSONファイルが私のアプリケーションで読み込めないのはなぜですか?

try { 
     JSONObject object=new JSONObject(loadJSONFromAsset()); 
     String objec=object.getString("root"); 
     JSONObject object1=new JSONObject(objec); 
     JSONArray array=object1.getJSONArray("child"); 
     for (int i=0;i<array.length();i++) 
     { 
      JSONObject jsonObject=array.getJSONObject(i); 
      list.add(String.valueOf(jsonObject)); 

     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    // Inflate the layout for this fragment 
    return rootview; 
} 
public String loadJSONFromAsset() { 
    String json = null; 
    try { 

     InputStream is = getActivity().getAssets().open("data.json"); 

     int size = is.available(); 

     byte[] buffer = new byte[size]; 

     is.read(buffer); 

     is.close(); 

     json = new String(buffer, "UTF-8"); 


    } catch (IOException ex) { 
     ex.printStackTrace(); 
     return null; 
    } 
    return json; 

} 

であり、これは私のJSONデータ構造

"root" : { 
"child" : [ "data1","data2","data3",.......]}, 

で、リスト内のDATA2値は

+0

をご確認ください私のans。 –

答えて

0

この

try { 
     JSONObject object=new JSONObject(loadJSONFromAsset()); 
     String objec=object.getString("root"); 
     JSONObject object1=new JSONObject(objec); 
     JSONArray array=object1.getJSONArray("child"); 
     for (int i=0;i<array.length();i++) 
     { 
      list.add(array.getString(i)); 

     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
0
try { 
    JSONObject object=new JSONObject(loadJSONFromAsset()); 
    String objec=object.getString("root"); 
    JSONObject object1=new JSONObject(objec); 
    JSONArray array=object1.getJSONArray("child"); 
    for (int i=0;i<array.length();i++) 
    { 
     JSONObject jsonObject=array.getJSONObject(i); 
     list.add(jsonObject.getString(i)); 

    } 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 
をお試しください
関連する問題