То, что я хочу получить, это объект JSON из API Национального парка, но когда я делаю это, он просто возвращает ноль, поэтому я перехожу к My json и копирую и вставляю объект, от которого я предполагаю получить веб-сайт. Таким образом, второй URL-адрес от моего json. Бин go !, без ошибок отлично работает, я получил данные. Очевидно, не может сделать это, потому что данные изменяются. Есть ли какая-то аутентификация, которую я должен сделать, чтобы получить данные или что-то в этом роде?
public void JsonParse(){
RequestQueue requestQueue = Volley.newRequestQueue(this);
String url_from_Nationial_Park_Service_API = "https://developer.nps.gov/api/v1/campgrounds?/&api_key=Aa4Yrekf9m2MhKbcb1J8Bzzyx6SVNRBAtJlpFdLr";
String url_from_MyJson = "https://api.myjson.com/bins/1321fc";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url_from_MyJson, null ,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// testing if data is recieved
try {
Log.d(TAG, "onResponse: Starting");
JSONArray jsonArray = response.getJSONArray("data");
Log.d(TAG, "onResponse: Got Data");
JSONObject campsite = jsonArray.getJSONObject(0);
Log.d(TAG, "onResponse: Got Object");
JSONObject information = campsite.getJSONObject("contacts");
Log.d(TAG, "onResponse: Got Contacts");
JSONArray contact = information.getJSONArray("phoneNumbers");
Log.d(TAG, "onResponse: Go Phone numbers");
JSONObject options = contact.getJSONObject(0);
Log.d(TAG, "onResponse: Final");
String Number = options.getString("phoneNumber");
// IF TEST goes right, then some data goes to my button
oFragmentHome.betabutton(Number);
} catch (JSONException e) {
e.printStackTrace();
Log.d(TAG, "onResponse: Exception");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "onErrorResponse: Unsuccesful");
Log.d(TAG, "onErrorResponse: " + error.getMessage());
}
});
requestQueue.add(request);
}