2017-09-27 2 views
1

DownloadTask에서 JsonObject를 가져 오려고합니다. 하지만 jsonObjectText에 저장된 JsonObjects와 함께 downloadData에 저장된 배열 값을 얻고 있습니다. 아래에서 로그를보십시오. 내 코드가 JsonObject 배열을 반환하는 이유하지만 jsonObject 변수의 내용 만 기록합니다. 로그의 여기JsonObject를 구문 분석하는 동안 오류가 발생했습니다.

사진 : 여기 Logs

내 코드입니다 :

package com.example.smarpitsingh.webview; 

public class MainActivity extends AppCompatActivity { 

    String name = "Result"; 
    String result = "",downloadedData,jsonObjectText; 
    URL url; 
    HttpURLConnection httpURLConnection; 
    InputStream inputStream; 
    InputStreamReader streamReader; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     DownloadTask downloadTask = new DownloadTask(); 
     try { 
      downloadedData = downloadTask.execute("https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty").get(); 

      JSONArray jsonArray = new JSONArray(downloadedData); 

      for (int i=1; i<20; i++){ 

       DownloadTask jasonTask = new DownloadTask(); 
       jsonObjectText = jasonTask.execute("https://hacker-news.firebaseio.com/v0/item/"+jsonArray.getString(i)+".json?print=pretty").get(); 

       Log.i(name,jsonObjectText); 
      } 


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

    public class DownloadTask extends AsyncTask<String,Void,String>{ 

     @Override 
     protected String doInBackground(String... urls) { 
      try { 
       url = new URL(urls[0]); 
       httpURLConnection = (HttpURLConnection)url.openConnection(); 
       inputStream = httpURLConnection.getInputStream(); 
       streamReader = new InputStreamReader(inputStream); 

       int data = streamReader.read(); 
       while (data != -1){ 
        char count = (char)data; 
        result += count; 
        data = streamReader.read(); 
       } 

      } catch (MalformedURLException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 


      return result; 
     } 
    } 
`}` 

답변

1

당신은 당신의 JSON의 배열을 가지고 있기 때문에 : enter image description here

관련 문제