JSoup:请求 JSON 响应

发布于 2024-11-30 08:32:43 字数 543 浏览 3 评论 0原文

我正在使用 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 库?

I'm using JSoup to authenticate then connect to a website. Some URL have a JSON response (because part of the site is in AJAX). Can JSoup handle JSON response ?

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

In my case body is "".

  • Is it because JSoup don't know how to handle JSON ? (offcourse there is no )
  • Or because there is an error in my request ?

Is there JSoup like libraries for JSON ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

彡翼 2024-12-07 08:32:43

您可以使用以下方法获取 JSON 或其他数据格式:

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

You can fetch JSON or other data format using this:

// JSON example
String json = Jsoup.connect(url).ignoreContentType(true).execute().body();
小忆控 2024-12-07 08:32:43

尝试这样

使用标头“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();

Try Like This

Use Header "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();
猫瑾少女 2024-12-07 08:32:43

我不认为 Jsoup 会执行 Javascript。如果提供的 URL 返回任何非 html 文本,我相信 Jsoup 只会将其包装在 body 标记或类似的内容中。

请参阅此帖子获取建议

I don't think Jsoup will execute Javascript. If the provided URL returns any non-html text, I believe Jsoup will just wrap it in a body tag or something similiar.

See this post for a suggestion

万人眼中万个我 2024-12-07 08:32:43

您应该使用 JSON 库来处理 JSON 数据。

以下是一些:点击

You should use a JSON library to process JSON Data.

Here are some: Click

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文