2017-02-15 22 views
0

Я должен получить JSON из почтового URL. Это мой URL URL: linkКак получить данные json из почтового адреса

Результат После процесса:

{ 
"success": false, 
"error_code": null, 
"data": { 
     "transaction_status": 0 
     } 
} 

Когда я попал этот адрес, Mutiple URL вызывает внутри после длительного процесса JSON ответ будет отображаться в WebView. Мне нужно получить этот ответ JSON, нажав этот URL-адрес, не показывая WebView

Пожалуйста, помогите мне решить эту проблему.

thanks

+0

так что в основном вы просто хотите получить текст, возвращенный URL-адресом, не так ли? –

ответ

1

Добавить залп в свой проект просто добавьте следующую строку.

compile 'com.mcxiaoke.volley:library-aar:1.0.0' 

для получить ответ JSon

private void sendRequest(){ 

    StringRequest stringRequest = new StringRequest(JSON_URL, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        showJSON(response); 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        Toast.makeText(MainActivity.this,error.getMessage(),Toast.LENGTH_LONG).show(); 
       } 
      }); 

    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 
} 

private void showJSON(String json){ 
    // here you can get json. 
} 
+0

Не могли бы вы предоставить мне класс «StringRequest» –

+0

StringRequest - это класс buildin для библиотеки волейбола – Sasi

0

Это url обеспечивается OP (я имею в виду @ dev_mg99) не состоят из "на стороне сервера" перенаправлять.
Данные JSON на веб-странице появляются после «Javascript» Выполнение.


И, насколько я знаю, делать HTTP POST/GET (используя любой метод, предусмотренный в Android) будет бесполезен в этом случае, как сервер возвращает «сайт» и «не JSON данные».
(Пожалуйста, поправьте меня, если я ошибаюсь, так что я получаю, чтобы узнать что-то новое.)

Единственное возможное решение приходит мне на ум:
1) Загрузите выше URL в WebView
2) Продолжайте проверять, загружен ли WebView «полностью»
3) Если он полностью загружен Извлеките текст «html» WebView и получите желаемый текст JSON.

Не знаю, как кодировать (2) ... Таким образом, не может быть предоставлен какой-либо код.


Как я узнал, что?

Шаг 1: Open выше URL в (скажем) Google Chrome. Подождите некоторое время и вы увидите, что страница перенаправляет на веб-страницу с текстом следующего содержания:

{"success":false,"error_code":null,"data":{"transaction_status":0}} 

, который выглядит как строка JSON.

Шаг 2: Отключите JavaScript браузера (Для google chrome: Настройки -> Показать дополнительные параметры -> Конфиденциальность ... Настройки содержимого -> Javascript ... Нажмите «Не разрешайте сайту запустить JavaScript»

Шаг 3:. Теперь снова попытайтесь открыть выше URL в браузере ... страница не перенаправит в любом месте

по которой я делаю вывод, что выше URL является перенаправлен JavaScript (не с сервера)