使用jsoup从HTML获取JSON数据的步骤如下:
connect()
方法创建一个连接对象,并指定要抓取的HTML页面的URL。get()
方法发起HTTP请求,获取HTML页面的响应。select()
方法选择HTML页面中包含JSON数据的元素。text()
、html()
等)提取JSON数据。以下是一个示例代码:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import com.google.gson.Gson;
public class JsoupExample {
public static void main(String[] args) {
try {
// 创建连接
Document doc = Jsoup.connect("http://example.com").get();
// 解析HTML,提取JSON数据
String jsonElement = doc.select("script[type=application/json]").first().html();
// 解析JSON
Gson gson = new Gson();
MyData data = gson.fromJson(jsonElement, MyData.class);
// 打印JSON数据
System.out.println(data);
} catch (Exception e) {
e.printStackTrace();
}
}
// 定义数据类
static class MyData {
// 根据JSON结构定义对应的字段
String name;
int age;
@Override
public String toString() {
return "MyData [name=" + name + ", age=" + age + "]";
}
}
}
上述代码中,我们首先使用Jsoup.connect()
方法创建一个连接对象,然后使用get()
方法发起HTTP请求,获取HTML页面的响应。接着使用选择器语法select()
选择包含JSON数据的元素,并使用html()
方法获取元素的HTML内容。然后,我们使用Gson库对提取到的JSON数据进行解析,转换为MyData
对象。最后,我们打印解析后的数据。
请注意,这只是一个示例代码,实际使用时需要根据具体的HTML结构和JSON数据格式进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云