2016-10-28 9 views
0

私は現在、アプリケーションを開発中で、名前のない配列からJSONオブジェクトを解析する必要があります。
私はこのような名前のJSON配列を解析することしかできません:http://jsonparsing.parseapp.com/jsonData/moviesDemoItem.txtJSON配列からJSONオブジェクトを解析する

私は1つのために使用されるコードは、上記のコードは、配列名である「映画」を含む

protected String doInBackground(String... params) { 

     HttpURLConnection connection = null; 
     BufferedReader reader = null; 

     try { 
      URL url = new URL(params[0]); 
      connection = (HttpURLConnection) url.openConnection(); 
      connection.connect(); 

      InputStream stream = connection.getInputStream(); 
      reader = new BufferedReader(new InputStreamReader(stream)); 
      StringBuffer buffer = new StringBuffer(); 

      String line = ""; 
      while ((line = reader.readLine()) != null) { 
       buffer.append(line); 
      } 


      String asd = buffer.toString(); 

      JSONObject parentObject = new JSONObject(asd); 
      JSONArray parentArray = parentObject.getJSONArray("movies"); 
      JSONObject fObject = parentArray.getJSONObject(0); 

      String movie = fObject.getString("movie"); 
      int year = fObject.getInt("year"); 

      return movie + year; 

あります。
https://restcountries.eu/rest/v1/allのようなJSON配列内のオブジェクトのみを解析するにはどうすればよいですか?

+1

理想的には、 'doInBackground'から' buffer.toString() 'または' parentObject'を返すべきです。 'onPostExecute'で残りのJSON解析を行います。 –

+0

[AndroidでJSONを解析する方法](http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android)の可能な複製 –

答えて

2

あなたの国の一覧は単なる配列です。名前は必要ありません。単に

JSONArray parentObject = new JSONArray(asd); 

JSONObject parentObject = new JSONObject(asd); 

を交換

は、オブジェクトの残りの部分を解析し、その配列を反復する方法については、この記事を参照してください。

How to parse JSON in Android

また、バレーボールのJsonArrayRequestは有用であろう、または手動でJSONデータを解析するように自分を感じていない場合にはレトロフィット+ Gsonについて学ぶことでも良いだろう

for (int i=0; i < parentObject.length(); i++) { 

のようなものを開始。

関連する問題