2014-04-01 35 views
0

您好我正在使用android.I創建了一個應用程序,它使用json從數據庫獲取值。我在xamp本地主機上成功測試了我的應用程序。但是當我試圖連接到我的服務器,它不能正常工作,並顯示錯誤「04-01 14:48:48.308:E/log_tag(695):解析數據時出錯org.json.JSONException:類型java.lang.String的值不能被轉換成JSONArray 「 我不能找出錯誤,請幫助我,提前Android JSON顯示字符串不能轉換爲JSON數組錯誤

這裏感謝是我的代碼

 try{ 

        HttpClient httpclient = new DefaultHttpClient(); 
        HttpPost httppost = new HttpPost("server link"); 

        HttpResponse response1 = httpclient.execute(httppost); 
        HttpEntity entity = response1.getEntity(); 
        is = entity.getContent(); 


        Log.e("log_tag", "connection success "); 

      } 
       catch(Exception e) 
       { 
         Log.e("log_tag", "Error in http connection "+e.toString()); 


       } 
       try 
       { 
         BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
         StringBuilder sb = new StringBuilder(); 
         String line = null; 

         while ((line = reader.readLine()) != null) 
         { 
           sb.append(line + "\n"); 
           Log.w("Lengh","in buffered reader while"); 
         } 
         is.close(); 

         result2=sb.toString(); 

       } 
       catch(Exception e) 
       { 
         Log.e("log_tag", "Error converting result "+e.toString()); 


       } 
       try 
       { 
        JSONArray jArray = new JSONArray(result2); 


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


         JSONObject json_data = jArray.getJSONObject(i); 

          App_id=json_data.getString("app_id"); 

          String key=getIntent().getStringExtra("key"); 


         if (getIntent().hasExtra("key")) { 

          if(key.compareTo(App_id)==0) 
          { 

           flag=1; 
           break; 

           //setContentView(R.layout.home); 
          } 

         } else { 

           finish(); 
          } 
+0

'java.lang.String類型的值不能轉換爲JSONArray'你得到的是一個String而不是JSONArray。檢查你的迴應 – Raghunandan

+0

我從服務器數據庫中得到字符串 – Bennett

+1

@Bennett你可以發佈該回復。 – Hariharan

回答

0

它聽起來像你的Web服務器沒有返回有效的JSON,因爲你的代碼看起來不錯。我首先看看服務器響應,例如記錄result2的內容並查看它是否包含有效的JSON。

+0

是的,你是對的。我無法從服務器獲得結果,但它看起來在本地服務器上工作,那麼這裏有什麼問題? – Bennett

+0

我打印了我的結果2。它在結果2之前顯示一些未使用的字符,如!>>。爲什麼?? – Bennett