在Java中,我們可以利用HttpURLConnection或OkHttp等類(lèi)庫(kù)來(lái)發(fā)送請(qǐng)求,獲取JSON數(shù)據(jù)。
//使用HttpURLConnection發(fā)送GET請(qǐng)求,獲取JSON數(shù)據(jù) URL url = new URL("http://example.com/api/getData"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("Accept", "application/json"); if (connection.getResponseCode() == 200) { InputStream inputStream = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); String line; StringBuilder stringBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { stringBuilder.append(line); } String responseData = stringBuilder.toString(); JSONObject jsonObject = new JSONObject(responseData); //解析JSON數(shù)據(jù) } //使用OkHttp發(fā)送GET請(qǐng)求,獲取JSON數(shù)據(jù) OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://example.com/api/getData") .build(); Response response = client.newCall(request).execute(); if (response.isSuccessful()) { String responseData = response.body().string(); JSONObject jsonObject = new JSONObject(responseData); //解析JSON數(shù)據(jù) }
無(wú)論使用HttpURLConnection還是OkHttp,我們都需要設(shè)置請(qǐng)求頭的Accept為application/json,才能確保獲得JSON數(shù)據(jù)。
獲取到JSON數(shù)據(jù)后,我們需要通過(guò)JSONObject或者JSONArray等類(lèi)進(jìn)行解析。
如果出現(xiàn)JSON解析異常,一般是因?yàn)镴SON數(shù)據(jù)格式不正確所致,可以通過(guò)工具(如Online JSON Viewer)查看JSON數(shù)據(jù)正確的格式。