web-dev-qa-db-fra.com

JSoup: demande de réponse JSON

J'utilise JSoup pour m'authentifier puis me connecter à un site Web. Certaines URL ont une réponse JSON (car une partie du site est en AJAX). JSoup peut-il gérer une réponse JSON?

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

Dans mon cas, le corps est "".

  • Est-ce parce que JSoup ne sait pas comment gérer JSON? (hors cours il n'y a pas)
  • Ou parce qu'il y a une erreur dans ma demande?

Existe-t-il des bibliothèques semblables à JSoup pour JSON?

21

Vous pouvez récupérer JSON ou un autre format de données en utilisant ceci:

// JSON example
String json = Jsoup.connect(url).ignoreContentType(true).execute().body();
40
Anchor

Essayez comme ça

Utilisez l'en-tête "Accept: text/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();
5
Danyial Shahid Ali

Je ne pense pas que Jsoup exécutera Javascript. Si l'URL fournie renvoie un texte non HTML, je pense que Jsoup l'enveloppera simplement dans une balise body ou quelque chose de similaire.

Voir ceci post pour une suggestion 

0
scott

Vous devez utiliser une bibliothèque JSON pour traiter les données JSON.

En voici quelques unes: Cliquez

0
Zarathustra