Actuellement, j'ai commencé à développer avec API en Java. C'était la première fois que j'utilisais l'API en Java et j'ai réussi à l'implémenter, je vais donc l'écrire dans un sens mémoriel. Tout d'abord, je vais vous montrer la mise en œuvre générale. Après cela, je l'expliquerai dans les sections suivantes.
En cela, nous examinerons la partie implémentation de chaque section et son explication tout en regardant les références.
useJson.java
public static JsonNode getResult(String urlString) {
String result = "";
JsonNode root = null;
try {
URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.connect(); //Connexion URL
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String tmp = "";
while ((tmp = in.readLine()) != null) {
result += tmp;
}
ObjectMapper mapper = new ObjectMapper();
root = mapper.readTree(result);
in.close();
con.disconnect();
}catch(Exception e) {
e.printStackTrace();
}
return root;
}
useJson.java
URL url = new URL(urlString): //Spécifiez l'URL de l'API, y compris les paramètres de la demande
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.connect(); //Connectez-vous à l'URL
Spécifiez une chaîne de caractères de type String comme argument. Pointez une chaîne de caractères de type String vers le Web. Référence: URL de la classe
Un pointeur est un pointeur qui fait référence à (pointe vers) un objet lorsqu'il est accessible avec des informations d'emplacement logique.
Les informations d'emplacement logique auxquelles il est fait référence ici font référence à l'emplacement (URL) sur le Web.
[Référence: Pointer (Programmation)](https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF_(%E3%83) % 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0))
«Logique» est une manière de penser correctement. Les significations de «théorie» et «raison» sont communes à «ligne». En outre, «théorie» signifie également «discuter», et «raison» signifie également «mots et principes».
En d'autres termes, il s'agit ici de faire un chemin vers l'URL (précisez l'adresse).
Autoriser à la fois la lecture et l'écriture des ressources référencées dans les URL
openConnection Manipuler les paramètres qui affectent les connexions aux ressources distantes Référence: Class URLConnection
useJson a continué.java
String result = "";
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))); //Recevoir une réponse
String tmp = "";
while ((tmp = in.readLine) != null){
result += tmp;
}
Lisez efficacement le texte des flux d'entrée de caractères en mettant en mémoire tampon les caractères, les tableaux et les lignes.
Ici, cela signifie lire efficacement le texte au format JSON. Référence: Class BufferedReader
La mise en mémoire tampon consiste à échanger des données entre plusieurs périphériques et logiciels, à compenser les différences de vitesse de traitement et de vitesse de transfert, et à envoyer et recevoir temporairement des données vers une zone de stockage dédiée en cas de décélération ou d'interruption de la communication. Enregistrez-le dans.
En d'autres termes, stockez certaines données au début de la connexion à l'API avec la requête, et lorsqu'elles se sont accumulées dans une certaine mesure, lisez la réponse en toute sécurité et accélérez la vitesse de traitement. Référence: Buffering [buffering] Buffering
InputStreamReader agit comme un pont entre le flux d'octets et le flux de caractères
Ici, cela signifie déposer la réponse au format JSON dans le flux de caractères. Référence: Class InputStreamReader
(HttpURLConnection)con.getInputStream
Renvoie un flux d'entrée qui reçoit l'entrée de cette connexion. Lors de la lecture à partir du flux d'entrée renvoyé, une exception SocketTimeoutException est levée si le délai de lecture expire avant que les données ne deviennent lisibles.
"Cette connexion" est une réponse JSON. Référence: getInputStream
in.readLine()
Lisez une ligne de texte.
Lisez la réponse ligne par ligne [Référence: Résumé de la classe BufferedReader, méthode readLine ()] (https://docs.oracle.com/javase/jp/8/docs/api/java/io/BufferedReader.html)
useJson a continué ②.java
JsonNode jsonResult = null; //Initialisation
ObjectMapper mapper = new ObjectMapper();
jsonResult = mapper.readTree(result);
in.close();
con.disconnect();
Peut convertir entre des objets Java et des chaînes JSON.
Référence: Jackson usage memo chaîne de caractères JSON → objet Java Description
mapper.readTree(result)
Ensuite, ObjectMapper.readTree lit le nœud racine lorsque les données du fichier JSON sont utilisées comme données d'arborescence en tant qu'objet de type JsonNode. Référence: Lire des données avec Jackson, une bibliothèque JSON pour Java
Une structure arborescente est l'une des structures de données, et un élément (nœud) a plusieurs éléments enfants, un élément enfant a plusieurs éléments petits-enfants, et plus la hiérarchie est profonde, plus elle est ramifiée. La structure. On l'appelle ainsi parce qu'il ressemble à un arbre se ramifiant de tronc en branche et de branche en feuille.
Les éléments qui composent l'arborescence sont appelés nœuds et les nœuds ont une relation parent-enfant Un nœud sans parent est appelé nœud racine, et un nœud sans enfant est appelé nœud feuille.
[Référence: arborescence] Structure arborescente ](http://e-words.jp/w/%E6%9C%A8%E6%A7%8B%E9%80%A0.html)
En d'autres termes, il est appelé «readTree» qui est responsable de l'acquisition des données (nœud racine) en haut de l'arborescence.
in.close(); Fin de la classe BufferedReader
con.disconnect(); Résiliation (déconnexion) de la connexion URL
Je suis fatigué ... w Je pense que cela ressemble à ceci lors de la connexion à une API au format Json. Au fait, si vous gérez Json en Java, vous devrez inclure certaines bibliothèques, mais je pense que certaines sont inutiles, donc je les ajouterai dès que je les comprendrai. Les éléments suivants sont actuellement inclus.
Si vous avez des suggestions ou des questions dans cet article, je vous serais reconnaissant de bien vouloir commenter.
Recommended Posts