JSoup: запрос ответа JSON - PullRequest
23 голосов
/ 20 августа 2011

Я использую JSoup для аутентификации и подключения к веб-сайту. Некоторые URL имеют ответ JSON (потому что часть сайта находится в AJAX). Может ли JSoup обрабатывать JSON-ответ?

Connection.Response doc = Jsoup.connect("...")
                               .data(...)
                               .cookie(...)
                               .header(...)
                               .method(Method.POST)
                               .execute();
String result = doc.body()

В моем случае тело "".

  • Это потому, что JSoup не знает, как обращаться с JSON? (чужого нет)
  • Или из-за ошибки в моем запросе?

Существуют ли JSoup-подобные библиотеки для JSON?

Ответы [ 4 ]

45 голосов
/ 16 января 2014

Вы можете получить JSON или другой формат данных, используя это:

// JSON example
String json = Jsoup.connect(url).ignoreContentType(true).execute().body();
5 голосов
/ 25 октября 2015

Попробуйте как это

Использовать заголовок «Принять: текст / JavaScript»

 String InboxJson=Jsoup.connect("https://www.fiverr.com/conversations/Json")
                            .timeout(1000000) 
                            .header("Accept", "text/javascript")
                            .userAgent("Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0")
                            .get()
                            .body()
                            .text();
0 голосов
/ 25 ноября 2012

Вы должны использовать библиотеку JSON для обработки данных JSON.

Вот некоторые из них: Нажмите

0 голосов
/ 20 августа 2011

Я не думаю, что Jsoup выполнит Javascript. Если указанный URL-адрес возвращает какой-либо не HTML-текст, я думаю, Jsoup просто обернет его в тег body или что-то похожее.

См. сообщение для предложения

...