在 Java 中,“网络数据解析”通常指从网络获取数据时,对返回的数据格式(如 JSON、XML、HTML、二进制等)进行解析处理。下面按常见场景给你一个系统性的说明和示例。
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();
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();
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonString, User.class);
User 类
class User {
public int id;
public String name;
}
Gson gson = new Gson();
User user = gson.fromJson(jsonString, User.class);
JSONObject obj = new JSONObject(jsonString);
String name = obj.getString("name");
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document doc = builder.parse(inputStream);
String value = doc.getElementsByTagName("name")
.item(0).getTextContent();
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 对象
为了给你更精准的示例,可以补充:
我可以直接给你完整可运行代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。