温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java网络数据怎么解析

发布时间:2026-10-24 08:08:15 来源:亿速云 阅读:87 作者:小樊 栏目:编程语言

在 Java 中,“网络数据解析”通常指从网络获取数据时,对返回的数据格式(如 JSON、XML、HTML、二进制等)进行解析处理。下面按常见场景给你一个系统性的说明和示例。


一、常见网络数据格式

  1. JSON(最常见,REST API)
  2. XML(老系统、WebService)
  3. HTML(爬虫)
  4. 二进制(文件、图片、音视频、自定义协议)

二、获取网络数据(基础)

1️⃣ 使用 HttpURLConnection(原生)

URL url = new URL("https://api.example.com/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");

BufferedReader reader = new BufferedReader(
        new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
    sb.append(line);
}
reader.close();

String response = sb.toString();

2️⃣ 使用 HttpClient(Java 11+ 推荐)

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.example.com/data"))
        .build();

HttpResponse<String> response =
        client.send(request, HttpResponse.BodyHandlers.ofString());

String data = response.body();

三、JSON 数据解析(最常用)

✅ 使用 Jackson(企业级首选)

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonString, User.class);

User 类

class User {
    public int id;
    public String name;
}

✅ 使用 Gson(简单好用)

Gson gson = new Gson();
User user = gson.fromJson(jsonString, User.class);

✅ 使用 JSONObject(轻量)

JSONObject obj = new JSONObject(jsonString);
String name = obj.getString("name");

四、XML 数据解析

使用 DocumentBuilder

DocumentBuilder builder = DocumentBuilderFactory.newInstance()
        .newDocumentBuilder();
Document doc = builder.parse(inputStream);

String value = doc.getElementsByTagName("name")
        .item(0).getTextContent();

五、HTML 数据解析(爬虫)

使用 Jsoup(强烈推荐)

Document doc = Jsoup.connect("https://example.com").get();
String title = doc.title();
Elements links = doc.select("a[href]");

六、二进制数据解析

InputStream is = conn.getInputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
    // 处理字节流
}

七、常见解析流程总结

网络请求
  ↓
获取 InputStream / String
  ↓
判断数据格式(JSON / XML / HTML)
  ↓
选择解析工具
  ↓
转换为 Java 对象

八、你可以告诉我

为了给你更精准的示例,可以补充:

  • 是 GET 还是 POST?
  • 数据是 JSON / XML / HTML?
  • 用的是 原生 Java / Spring Boot / Android?

我可以直接给你完整可运行代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手