Derzeit habe ich angefangen, mit API in Java zu entwickeln. Es war mein erstes Mal, dass ich API in Java verwendet habe, und ich habe es geschafft, es zu implementieren, also werde ich es in einem denkwürdigen Sinne schreiben. Zunächst zeige ich Ihnen die allgemeine Umsetzung. Danach werde ich es in den folgenden Abschnitten erklären.
In diesem Abschnitt werden wir uns den Implementierungsteil jedes Abschnitts und seine Erklärung ansehen, während wir uns die Referenzen ansehen.
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(); //URL-Verbindung
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): //Geben Sie die API-URL einschließlich der Anforderungsparameter an
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.connect(); //Verbindung zur URL herstellen
Geben Sie eine Zeichenfolge vom Typ String als Argument an. Zeigen Sie mit einer Zeichenfolge vom Typ "Zeichenfolge" auf das Web. Referenz: Klassen-URL
Ein Zeiger bezieht sich auf ein Objekt (zeigt auf dieses), wenn auf ihn mit einigen logischen Standortinformationen zugegriffen werden kann.
Die hier genannten logischen Standortinformationen beziehen sich auf den Standort (URL) im Web.
[Referenz: Zeiger (Programmierung)](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))
"Logisch" ist eine Denkweise. Die Bedeutungen von "Theorie" und "Vernunft" sind "Linie" gemeinsam. Darüber hinaus bedeutet "Theorie" auch "diskutieren", und "Vernunft" bedeutet auch "Worte und Prinzipien".
Mit anderen Worten, hier soll ein Weg zur URL gefunden werden (Adresse angeben).
Ermöglichen Sie das Lesen und Schreiben von Ressourcen, auf die in URLs verwiesen wird
openConnection Bearbeiten Sie Parameter, die sich auf Verbindungen zu Remote-Ressourcen auswirken Referenz: Klasse URLConnection
useJson fuhr fort.java
String result = "";
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))); //Antwort erhalten
String tmp = "";
while ((tmp = in.readLine) != null){
result += tmp;
}
Lesen Sie Text effizient aus Zeicheneingabestreams, indem Sie Zeichen, Arrays und Zeilen puffern.
Hier bedeutet es, Text im JSON-Format effizient zu lesen. Referenz: Class BufferedReader
Beim Puffern werden Daten zwischen mehreren Geräten und Software ausgetauscht, Unterschiede in der Verarbeitungs- und Übertragungsgeschwindigkeit ausgeglichen und Daten im Falle einer Verzögerung oder Unterbrechung der Kommunikation vorübergehend an einen dedizierten Speicherbereich gesendet und empfangen. Speichern Sie es in.
Mit anderen Worten, speichern Sie einige Daten zu Beginn der Verbindung mit der API mit der Anforderung. Lesen Sie die Antwort sicher und beschleunigen Sie die Verarbeitungsgeschwindigkeit, wenn sie sich zu einem gewissen Grad angesammelt hat. Referenz: Pufferung [Pufferung] Pufferung
InputStreamReader fungiert als Brücke vom Byte-Stream zum Zeichen-Stream
Hier bedeutet dies, dass die Antwort im JSON-Format in den Zeichenstrom eingefügt wird. Referenz: Klasse InputStreamReader
(HttpURLConnection)con.getInputStream
Gibt einen Eingabestream zurück, der Eingaben von dieser Verbindung empfängt. Beim Lesen aus dem zurückgegebenen Eingabestream wird eine SocketTimeoutException ausgelöst, wenn das Lesezeitlimit abläuft, bevor die Daten lesbar werden.
"Diese Verbindung" ist eine JSON-Antwort. Referenz: getInputStream
in.readLine()
Lesen Sie eine Textzeile.
Lesen Sie die Antwort Zeile für Zeile [Referenz: Zusammenfassung der Klasse BufferedReader Methode readLine ()] (https://docs.oracle.com/javase/jp/8/docs/api/java/io/BufferedReader.html)
useJson fuhr fort ②.java
JsonNode jsonResult = null; //Initialisieren
ObjectMapper mapper = new ObjectMapper();
jsonResult = mapper.readTree(result);
in.close();
con.disconnect();
Kann zwischen Java-Objekten und JSON-Zeichenfolgen konvertieren.
Referenz: Jackson-Verwendungsnotiz JSON-Zeichenfolge → Java-Objekt Beschreibung
mapper.readTree(result)
Anschließend liest ObjectMapper.readTree den Stammknoten, wenn die Daten in der JSON-Datei als Baumstrukturdaten als Objekt vom Typ JsonNode verwendet werden. Referenz: Lesen Sie Daten mit Jackson, einer JSON-Bibliothek für Java
Eine Baumstruktur ist eine der Datenstrukturen, und ein Element (Knoten) hat mehrere untergeordnete Elemente, ein untergeordnetes Element hat mehrere Enkelelemente und je tiefer die Hierarchie, desto verzweigter. Die Struktur. Es wird dies genannt, weil es einem Baum ähnelt, der sich von Stamm zu Zweig und von Zweig zu Blatt verzweigt.
Die Elemente, aus denen die Baumstruktur besteht, werden als Knoten bezeichnet, und die Knoten haben eine Eltern-Kind-Beziehung. Ein Knoten ohne Eltern wird als Wurzelknoten und ein Knoten ohne Kind als Blattknoten bezeichnet.
[Referenz: Baumstruktur] Baumstruktur ](http://e-words.jp/w/%E6%9C%A8%E6%A7%8B%E9%80%A0.html)
Mit anderen Worten, es ist "readTree", das die Rolle des Erfassens der Daten (Wurzelknoten) am oberen Rand der Baumstruktur spielt.
in.close(); Ende der BufferedReader-Klasse
con.disconnect(); Beendigung (Trennung) der URL-Verbindung
Ich bin müde ... w Ich denke, es sieht so aus, wenn eine Verbindung zu einer API im Json-Format hergestellt wird. Übrigens, wenn Sie mit Json in Java umgehen, müssen Sie einige Bibliotheken einschließen, aber ich denke, es gibt einige, die unnötig sind, also werde ich sie hinzufügen, sobald ich sie verstehe. Folgendes ist derzeit enthalten.
Wenn Sie Vorschläge oder Fragen in diesem Artikel haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten.
Recommended Posts