2011-08-20 13 views
16

Sto utilizzando JSoup per l'autenticazione, quindi la connessione a un sito Web. Alcuni URL hanno una risposta JSON (perché parte del sito è in AJAX). JSoup può gestire la risposta JSON?JSoup: Richiesta di risposta JSON

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

Nel mio caso il corpo è "".

  • Forse perché JSoup non sa come gestire JSON? (no, no)
  • Oppure perché c'è un errore nella mia richiesta?

Esistono librerie simili a JSoup per JSON?

+0

Prova a usare questo: '.header (" Accetta "," application/json ")' – r3dst0rm

risposta

0

Non penso che Jsoup eseguirà Javascript. Se l'URL fornito restituisce un testo non html, credo che Jsoup lo avvolgerà in un tag body o qualcosa di simile.

Vai a questa post per un suggerimento

+1

Sì, ovviamente, JavaScript non viene eseguito. Non ero sicuro se la stringa JSON fosse racchiusa in un tag body o se venisse rimossa per adattarsi a un documento ben formato. –

0

Si dovrebbe utilizzare una libreria JSON per elaborare dati JSON.

Ecco alcuni: Click

30

Si possono scaricare i JSON o altro formato di dati utilizzando questo:

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

Prova Like This

Usa intestazione "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(); 
Problemi correlati