2017-06-13 93 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响应 –