api:documentation:http:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
api:documentation:http:start [2023/04/02 11:28] – [Beispiel 1: Durchschnittseinkommen in den USA nach Branche] Martin Pabst | api:documentation:http:start [2023/04/02 13:21] – [Aufbereiten der Json-Daten (JsonParser)] Martin Pabst | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
- | ===== Beispiel 1: Durchschnittseinkommen in den USA nach Branche ===== | + | ===== Durchschnittseinkommen in den USA nach Branche ===== |
Viele Daten über die USA erhält man auf der Seite [[https:// | Viele Daten über die USA erhält man auf der Seite [[https:// | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
HttpClient client = new HttpClient(); | HttpClient client = new HttpClient(); | ||
HttpRequest request = new HttpRequest(); | HttpRequest request = new HttpRequest(); | ||
- | request.uri(" | + | request.uri(" |
HttpResponse response = client.send(request); | HttpResponse response = client.send(request); | ||
println(response.body()); | println(response.body()); | ||
+ | |||
+ | println(" | ||
+ | // Ausgabe der Response-Header: | ||
+ | println(" | ||
+ | for (HttpHeader header : response.headers()) { | ||
+ | | ||
+ | | ||
+ | } | ||
</ | </ | ||
Zeile 29: | Zeile 37: | ||
</ | </ | ||
+ | ===== URL-Encoding ===== | ||
+ | <WRAP center round info 80%> | ||
+ | Gemäß [[https:// | ||
+ | < | ||
+ | measure=Average Wage, | ||
+ | </ | ||
+ | muss man also schreiben: | ||
+ | < | ||
+ | measure=Average%20Wage, | ||
+ | </ | ||
+ | Damit wir diese Enkodierung nicht von Hand erledigen müssen, gibt es die Klasse '' | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | <script type=" | ||
+ | HttpClient client = new HttpClient(); | ||
+ | HttpRequest request = new HttpRequest(); | ||
+ | |||
+ | String parameter = URLEncoder.encode(" | ||
+ | request.uri(" | ||
+ | |||
+ | HttpResponse response = client.send(request); | ||
+ | println(response.body()); | ||
+ | |||
+ | println(" | ||
+ | // Ausgabe der Response-Header: | ||
+ | println(" | ||
+ | for (HttpHeader header : response.headers()) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | ===== Aufbereiten der Json-Daten (JsonParser) ===== | ||
Die Ausgabe liegt im Json-Format vor. Zum Aufbereiten nutzen wir die JsonParser-Klasse der Online-IDE. Sie konvertiert die Json-Zeichenkette in einen Objektbaum. Wir betrachten zunächst den Beginn der Zeichenkette: | Die Ausgabe liegt im Json-Format vor. Zum Aufbereiten nutzen wir die JsonParser-Klasse der Online-IDE. Sie konvertiert die Json-Zeichenkette in einen Objektbaum. Wir betrachten zunächst den Beginn der Zeichenkette: | ||
- | < | + | < |
- | {" | + | {" |
+ | [ | ||
+ | | ||
+ | "ID Major Occupation Group":" | ||
+ | "Major Occupation Group":" | ||
+ | "ID Year": | ||
+ | " | ||
+ | "ID Workforce Status": | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | "Slug Major Occupation Group":" | ||
+ | | ||
+ | | ||
+ | "ID Major Occupation Group":" | ||
+ | "Major Occupation Group":" | ||
+ | "ID Year": | ||
+ | " | ||
usw... | usw... | ||
</ | </ | ||
+ | Die führende öffnende geschweifte Klammer (' | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | Wir wollen uns von all diesen Objekten nur die Werte der Attribute '" | ||
+ | * '' | ||
+ | * Ist der Knoten ein Objekt (Typ '' | ||
+ | * Ist der Knoten ein Array (Typ '' | ||
+ | * Ist der Knoten ein String-Wert, | ||
+ | </ | ||
+ | |||
+ | |||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
HttpClient client = new HttpClient(); | HttpClient client = new HttpClient(); | ||
Zeile 44: | Zeile 120: | ||
HttpResponse response = client.send(request); | HttpResponse response = client.send(request); | ||
- | println(response.body()); | + | |
+ | JsonElement rootElement = JsonParser.parse(response.body()); | ||
+ | JsonElement data = rootElement.getAttributeValue(" | ||
+ | |||
+ | for (JsonElement row : data.getArrayValues()) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
</ | </ | ||
api/documentation/http/start.txt · Zuletzt geändert: 2023/04/16 08:26 von Martin Pabst