我正在尋找一個示例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例外。
我的代碼有什麼問題? 在此先感謝!
您可以發佈JSON異常? – merterpam
@merterpam值<!java.lang.String類型的DOCTYPE不能轉換爲JSONArray –
您指定的url不是將json對象作爲響應返回的API,它只是一個html頁面,這就是爲什麼它會拋出json異常。如果你想測試代碼使用這個網站http://www.mocky.io/。在這裏,您可以複製所需的json字符串併爲其創建鏈接。 – SAJ