JSON Dinge in Java Abfragen?
Guten Abend,
ich habe genau das hier gemacht: https://www.php-einfach.de/2021/04/einfache-rest-api-mittels-php/
Joa, es funktioniert eigentlich aber ich frage mich jetzt, wie ich das in Java abfragen kann? Also wie kann ich jetzt von https://minescope.net/api/test.php jetzt im Code abfragen, wie die uuid ist oder der status.. also halt was darin steht in dem jeweiligen String?
Ich hoffe ihr versteht mich.. xd
Mache das halt zum ersten mal und habe echt kp und im Internet finde ich jetzt auch nicht wirklich etwas...
Mit freundlichen Grüßen ^^
1 Antwort
Mit einem HTTP Request forderst du zuerst den Text an:
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("url to your php script ..."))
.GET()
.build();
var response = client.send(request, BodyHandlers.ofString());
var jsonData = response.body();
Danach kannst du ihn mit einem JSON Parser wie GSON lesen. Erst legst du dir einen Typ an:
class UserData {
String uuid;
String status;
String rank;
}
Danach mappst du das JSON auf ein Array dieses Typs.
Gson gson = new Gson();
UserData[] userData = gson.fromJson(jsonData, UserData[].class);
Folglich hast du somit Zugriff auf alle gesendeten Objekte und ihre Eigenschaften.
All das habe ich dir doch oben geschrieben.
Das Ergebnis, welches dein PHP-Skript zusammenstellt, wird von einem Webserver ausgeliefert, der über eine URL erreichbar ist. Folglich muss deine Java-Anwendung eine Anfrage an den Webserver schicken, damit du erst einmal den JSON-String bekommst. Java stellt für solche Vorhaben bereits Klassen, wie den HttpClient zur Verfügung.
Danach ist eine Auswertung des Strings notwendig. Lösungswege gibt es da viele. Ein Mapping via GSON würde ich als am komfortabelsten und einfachsten werten. Du kommst aber auch mit String-Funktionen (auf umständlichen Wege) oder anderen JSON Parser-Bibliotheken zu einem Ergebnis.
Ja aber... ich verstehe es nicht, es sind Fehler also muss ich irgendwas falsch gemacht haben.. Wie ich sagte, für mich ist das irgendwie nicht verständlich :/
Guck mal: https://prnt.sc/1zw5com
Bin anscheinend zu dumm dafür aber das brauche ich es trotzdem xd
Mit freundlichen Grüßen
Lies doch einmal die Fehlermeldung/-en. Sie geben sogar an, was falsch ist.
Hey
also ich kapiere das absolut nicht...
Ich weiß jetzt immer noch nicht, was genau ich machen muss?
Ich möchte eig. einfach nur in meinem Code (Java) bei der jeweiligen uuid den rank und den status abfragen und ggf. auch ändern.
Aber nun habe ich absolut keine Ahnung, wie genau ich das in Java einbringen kann.. :/
Mit freundlichen Grüßen ^^