2016-12-01 19 views
-1

JsonParse.Java URLからjson配列オブジェクトを取得しようとしていますが、パーシングエラー
を投げ、CountriedBeanが私のPOJOクラスです。
parse_jsonだけでListViewコントロールを持っており、 parse_json_viewは4のTextViewのエラー:com.android.volley.ParseError:org.json.JSONException:java.lang.String型のDOCTYPEをJSONObjectに変換できません

を持っている誰もが私を助けてくださいすることができ................

private List<CountriesBean> cntries= new ArrayList<CountriesBean>(); 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.parse_json); 

      RequestQueue queues = Volley.newRequestQueue(JsonParse.this); 

      JsonObjectRequest myRequest = new JsonObjectRequest(Request.Method.GET, 
        "https://github.com/SaiNitesh/REST-Web-services/blob/master/RESTfulWS/json_file.json", 
        null, 
        new Response.Listener<JSONObject>() { 
         @Override 
         public void onResponse(JSONObject response) { 
          try{ 
           Log.i("myCountries**", "response:" +response); 
          JSONArray countryItems = response.getJSONArray("countryItems"); 

          Log.i("myTagx", "response:" +countryItems); 

           for(int i=0; i<countryItems.length();i++){ 
            JSONObject temp= countryItems.getJSONObject(i); 

            String nm = temp.getString("nm"); 
            String cty = temp.getString("cty"); 
            String hse = temp.getString("hse"); 
            String yrs = temp.getString("yrs"); 

            cntries.add(new CountriesBean(nm, cty, hse, yrs)); 
           } 
          } catch(JSONException e){ 
           Log.i("myTag",e.toString()); 
          } 
         } 
        }, new Response.ErrorListener(){ 
       @Override 
       public void onErrorResponse(VolleyError error){ 
        Log.i("myTag", "Error:"+error.toString()); 
       } 
      }); 

      queues.add(myRequest); 

      ArrayAdapter<CountriesBean> adapter=new customAdapter(); 

      ListView myFirstListView = (ListView) (findViewById(R.id.myCountriesView)); 
      myFirstListView.setAdapter(adapter); 


      myFirstListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ 
       //WebView myListViewbrowser = (WebView) findViewById(R.id.myListViewbrowser); 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

        Toast.makeText(JsonParse.this,"My List View Item",Toast.LENGTH_SHORT).show(); 
       } 
      }); 


     } 

     private class customAdapter extends ArrayAdapter<CountriesBean>{ 
      public customAdapter() { 
       super(JsonParse.this, R.layout.parse_json_view, cntries); 

      } 

      @Override 
      public View getView(int position, View convertView, ViewGroup parent) { 

       /*getView method is like "for loop" 
       For First time convertView=null, then it gets 1st list, then it returns(return convertView) the first list, 
       then the convertView will be null 
       After that it starts from here again for 2nd list and it continues*/ 
       if(convertView == null){ 
        convertView = getLayoutInflater().inflate(R.layout.parse_json_view, parent,false); 

       } 


       TextView countryName = (TextView) convertView.findViewById(R.id.name); 
       TextView countryCity = (TextView) convertView.findViewById(R.id.city); 
       TextView countryHouse = (TextView) convertView.findViewById(R.id.house); 

       CountriesBean myCurrentctries = cntries.get(position); 


       countryName.setText(myCurrentctries.getNm()); 
       countryCity.setText(myCurrentctries.getCty()); 
       countryHouse.setText(myCurrentctries.getHse()); 

       return convertView; 
      } 


     } 
+0

エラーログも投稿してください –

答えて

3

URLの応答https://github.com/SaiNitesh/REST-Web-services/blob/master/RESTfulWS/json_file.jsonはHTMLページなので、例外が発生します。

代わりにhttps://raw.githubusercontent.com/SaiNitesh/REST-Web-services/master/RESTfulWS/json_file.jsonをご利用ください。

+1

ありがとうございました.....!できます。 – Batman

+0

JSONファイルのようにイメージをアップロードしたいのですか?それを生データとしてどのように表示できますか? – Batman

+0

あなたはあなたの新しい要件のための新しい質問を作成すべきだと思うか、またはSOで検索できます。多くのリンクがあります(そのうちの1つはhttp://stackoverflow.com/questions/16797468/how-to-send-a-です)マルチパート形式のデータの後にアンドロイドと一緒に)、あなたも明確にする必要がありますダウンロードまたはアップロード – BNK

関連する問題