Maison >Java >javaDidacticiel >Comment analyser facilement JSON à partir d'une URL en Java ?
La manière la plus simple d'analyser JSON à partir d'une URL en Java : une implémentation concise
La lecture et l'analyse de JSON à partir d'une URL en Java peuvent être simples avec l'aide de bibliothèques externes. L'une de ces bibliothèques est json, qui fournit une API légère et conviviale pour la gestion JSON.
Codage avec la bibliothèque JSON
À l'aide de l'artefact json Maven, voici un exemple d'un extrait de code concis qui réalise l'analyse JSON à partir d'un URL :
import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.nio.charset.Charset; class JsonReader { // Utility method for reading all characters from a reader private static String readAll(Reader rd) throws IOException { StringBuilder sb = new StringBuilder(); int cp; while ((cp = rd.read()) != -1) { sb.append((char) cp); } return sb.toString(); } public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException { InputStream is = new URL(url).openStream(); try { BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8"))); String jsonText = readAll(rd); return new JSONObject(jsonText); } finally { is.close(); } } }
Exemple d'utilisation
Dans une méthode principale, vous pouvez utiliser cette classe pour récupérer et analyser JSON à partir d'une URL comme suit :
public static void main(String[] args) throws IOException, JSONException { JSONObject json = JsonReader.readJsonFromUrl("https://graph.facebook.com/19292868552"); System.out.println(json.toString()); System.out.println(json.get("id")); }
Ce code récupère les données JSON de l'API Graph de Facebook, analyse la réponse et récupère les champs spécifiés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!