2017-06-13 102 views
0

我正在尋找一個示例JSON數據來測試我的應用程序。我找到一個關於http://anonymous-dtu.site11.com/,我已經在我的應用程序(MainActivity)下面的代碼來獲取這些數據:無法從http://anonymous-dtu.site11.com/獲取JSON

private void getData() { 
    final ProgressDialog dialog = new ProgressDialog(MainActivity.this); 
    dialog.setMessage("Getting Data...."); 
    dialog.setIndeterminate(false); 
    dialog.show(); 
    StringRequest string = new StringRequest 
      (Request.Method.GET, 
        "http://anonymous-dtu.site11.com", 
        new Response.Listener<String>() { 
         @Override 
         public void onResponse(String response) { 
          dialog.dismiss(); 
          try{ 
           JSONArray array = new JSONArray(response); 

           Toast.makeText(MainActivity.this, String.valueOf(array.length()), Toast.LENGTH_SHORT).show(); 

           for(int i=0;i<array.length();i++){ 
            JSONObject obj = array.getJSONObject(i); 
            String name = obj.getString("Name"); 
            String email = obj.getString("Email"); 
            String phone = obj.getString("Phone"); 
            String city = obj.getString("City"); 
            String country = obj.getString("Country"); 
            ListItem l = new ListItem(name,email,phone,city,country); 
            listItems.add(l); 
           } 

           adapter = new MyAdapter(listItems, MainActivity.this); 
           recyclerView.setAdapter(adapter); 
          } catch (JSONException e) { 
           Toast.makeText(MainActivity.this, "Could not fetch", Toast.LENGTH_SHORT).show(); 
          } 
         } 
        }, new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
          dialog.dismiss(); 
        Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      }); 

    RequestQueue queue = Volley.newRequestQueue(this); 
    queue.add(string); 
} 

但這無法獲取數據和捕獲JSON例外。

我的代碼有什麼問題? 在此先感謝!

+1

您可以發佈JSON異常? – merterpam

+0

@merterpam值<!java.lang.String類型的DOCTYPE不能轉換爲JSONArray –

+0

您指定的url不是將json對象作爲響應返回的API,它只是一個html頁面,這就是爲什麼它會拋出json異常。如果你想測試代碼使用這個網站http://www.mocky.io/。在這裏,您可以複製所需的json字符串併爲其創建鏈接。 – SAJ

回答

1

JSON的例外是在這裏483線

「國家」:「維爾京羣島「, 美國」

enter image description here

正確它遵循

「國家」: 「維爾京羣島美國」

+0

謝謝你的幫助。我知道了。它沒有返回JSON響應 –