


Wie ruft Java die Schnittstelle auf, um JSON-Daten abzurufen und nach dem Parsen in der Datenbank zu speichern?
Java ruft die Schnittstelle auf, um JSON-Daten abzurufen und in der Datenbank zu speichern
1. Konfigurieren Sie Ihre eigene definierte Schnittstellen-URL in der YML-Datei
//自己定义的JSON接口URL blacklist_data_url: 接口URL
. Fügen Sie die Anforderungsmethode und den Pfad zum Controller hinzu 3. Fügen Sie es zur Service-Methode
/** * @Title: 查询 * @Description: 查询车辆的记录 * @Author: 半度纳 * @Date: 2022/9/27 17:33 */ @GetMapping("/Blacklist") public void selectBlacklist(){ boolean a = imBuBlacklistService.selectBlacklist();//调用业务层方法 }
hinzu. Implementieren Sie die Methode
/** * @Title: 查询 * @Description: 查询车辆的记录 * @Author: 半度纳 * @Date: 2022/9/27 17:33 * @return */ public boolean selectBlacklist();//返回值类型没要求
in ServiceImpl, um die Schnittstelle aufzurufen, den JSON-String zu analysieren und in der Datenbank zu speichern.
Holen Sie sich den JSON-String über die API-Schnittstelle Schnittstellendaten über Get (httpGet)-Anforderung, verwenden Sie die HttpClient-Grundanalyse. Sechs Schritte:
Erstellen Sie eine HttpClient-Instanz.
Erstellen Sie eine Instanz einer bestimmten Verbindungsmethode.
Rufen Sie die Ausführungsmethode der HttpClient-Instanz auf, um sie auszuführen die Anforderungsmethode
Lesen Sie die Antwort
Geben Sie die Verbindung frei, unabhängig davon, ob die Ausführungsmethode erfolgreich ist
import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import com.alibaba.fastjson2.JSON; @Value("${blacklist_data_url}") public String blacklist_data_url;//接口URL /** * @Title: 查询 * @Description: 查询车辆的记录 * @Author: 半度纳 * @Date: 2022/9/27 17:33 * @return */ @Override public boolean selectBlacklist() { //获取的JSON接口数据(在输出测试时sendGet方法可能会自动输出,具体需看底层代码) String list= HttpUtils.sendGet(blacklist_data_url); JSONObject j = JSON.parseObject(list);//将获取的JSON数据存储到变量中 if(j.getBoolean("success")){//获取success判断是否为空 JSONObject jsonData = j.getJSONObject("body");//解析JSON的body JSONArray jsonArray = jsonData.getJSONArray("data");//解析JSON的data数据 JSONObject row = null;//定义一个空变量 ImBuBlacklist buBlacklist=new ImBuBlacklist();//new一个实体类用来接收数据 for (int y = 0; y < jsonArray.size(); ++y) {//循环将JSON数据存储到数据库中 buBlacklist = new ImBuBlacklist();//new一个实体类存储数据 row = jsonArray.getJSONObject(y);//获取数组中的数据 //设置获取到的JSON号牌号码到实体类的相同字段中 buBlacklist.setPlateNumber(row.getString("mechanicalNumber")); //设置获取到的JSON车辆类型到实体类的相同字段中 buBlacklist.setVehicleType(row.getString("machType")); //设置获取到的JSON检查日期到实体类的相同字段中 buBlacklist.setExamineDate(row.getDate("createDate")); //设置获取到的JSON检查地点到实体类的相同字段中 buBlacklist.setExamineAddress(row.getString("machineAddr")); //设置获取到的JSON违规行为到实体类的相同字段中 buBlacklist.setIllegalBehavior(row.getString("joinTheBlacklistReason")); //设置获取到的JSON黑名单类型到实体类的相同字段中 buBlacklist.setBlacklistType(row.getInteger("violations")); //通过mapper的新增方法,把实体类中的JSON数据存到数据库中 imBuBlacklistMapper.insertImBuBlacklist(buBlacklist); } return true;//自己定义的返回值(没有用) }else{ return false; } }
Nach dem Login kopierenWir können den Status der Antwort beurteilen und überprüfen, ob die Daten erhalten wurden. Die Statuswerte der Seitenanforderung sind: 200 Anforderung erfolgreich, 303 Umleitung, 400 Anforderungsfehler, 401 keine Autorisierung, 403 Zugriff verboten, 404 Datei nicht gefunden, 500 Serverfehler.
//创建httpClient实例 CloseableHttpClient client = HttpClients.createDefault(); //汽车之家api接口 String apiPath = "https://www.autohome.com.cn/ashx/index/GetHomeFindCar.ashx"; //创建get方法请求实例 HttpGet httpGet = new HttpGet(apiPath); //添加表头,text/xml表示XML格式 httpGet.addHeader("content-type","text/xml"); //调用HttpClient实例执行GET实例,返回response HttpResponse response = client.execute(httpGet); //解析response,这个过程主要取决于获取的json格式,是一个对象还是一个数组,放到后面详解 String result = EntityUtils.toString(response.getEntity()); //释放连接 response.close(); client.close();
Verwenden Sie JSONArray und JSONObject, um JSON-Strings zu analysierenBevor wir den JSON-String analysieren, müssen wir zunächst das Format des JSON-Strings bestimmen. und verwenden Sie verschiedene Analysemethoden für verschiedene Formate. Zum Beispiel: numerischer Wert, Zeichenfolge, Array, Objektarray oder Array-Objekt. Der entscheidende Punkt ist die Verwendung von geschweiften Klammern und eckigen Klammern Achten Sie auf diese beiden Symbole, da diese zu JSON-Parsing-Fehlern führen können JSON-Array, um jedes JSON-Objekt abzurufen und dann die Daten aus dem JSON-Objekt zu lesen.
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { String result = EntityUtils.toString(response.getEntity());//解析response }//getStatusLine()方法返回保存请求状态的StatusLine对象,getStatusCode()获取状态码
Speichern Sie die Daten des instanziierten Objekts in der Datenbank.
Im Springboot-Framework kann Mybatis-Generator Entitätsdateien auf Domänenebene und XML-Dateien generieren , Mapper-Dateien und entsprechende Servicedateien können uns sparen. Beim Schreiben von SQL-Anweisungen können wir die entsprechende Methode direkt in der Serviceschicht aufrufen.
//json数值 { "key" : 520, "key1" : 1314 } //json字符串 { "key" : "我爱你", "key1" : "一生一世" } //json数组 { "key" : [520, 1314], "key1" : [520, 3344] } //json对象数组 { "我" : [ {"key": "我爱你"}, {"key1": "一生一世"} ] } //json数组对象 { "我" : { [520,1314], ["我爱你", "一生一世"] } }
Der vollständige Code lautet wie folgt
//将json字符串解析成json数组的形式 JSONArray jsonArray = JSONArray.parseArray(result); //利用遍历解析json数组,并在循环中解析每一个json对象 for (int i = 0; i < jsonArray.size(); i++) { //将json数组解析为每一个jsonObject对象 JSONObject object=jsonArray.getJSONObject(i); //实例化一个dao层或者domain层的对象 CarBrand Brand = new CarBrand(); //将json对象中的数据写入实例化的对象中 //注意object读取的字段要和json对象中的字段一样,否则无法解析 Brand.setId(object.getInteger("id")); Brand.setName(object.getString("name")); Brand.setGroup(object.getString("letter")); }
Das obige ist der detaillierte Inhalt vonWie ruft Java die Schnittstelle auf, um JSON-Daten abzurufen und nach dem Parsen in der Datenbank zu speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Java leicht gemacht: Ein Leitfaden für Anfänger zur leistungsstarken Programmierung Java ist eine leistungsstarke Programmiersprache, die in allen Bereichen von mobilen Anwendungen bis hin zu Systemen auf Unternehmensebene verwendet wird. Für Anfänger ist die Syntax von Java einfach und leicht zu verstehen, was es zu einer idealen Wahl zum Erlernen des Programmierens macht. Grundlegende Syntax Java verwendet ein klassenbasiertes objektorientiertes Programmierparadigma. Klassen sind Vorlagen, die zusammengehörige Daten und Verhaltensweisen organisieren. Hier ist ein einfaches Java-Klassenbeispiel: publicclassPerson{privateStringname;privateintage;

Ein Stapel ist eine Datenstruktur, die dem LIFO -Prinzip (zuletzt, zuerst heraus) folgt. Mit anderen Worten, das letzte Element, das wir einem Stapel hinzufügen, ist das erste, das entfernt wird. Wenn wir einem Stapel Elemente hinzufügen (oder drücken), werden sie oben platziert. vor allem der

In diesem Leitfaden werden mehrere Java -Methoden zum Vergleich von zwei Arraylisten untersucht. Erfolgreicher Vergleich erfordert, dass beide Listen die gleiche Größe haben und identische Elemente enthalten. Methoden zum Vergleich von Arraylisten in Java Für den Vergleich von AR existieren mehrere Ansätze
