JSON Dinge in Java Abfragen?

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.


PandaLukas 
Fragesteller
 17.11.2021, 00:50

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 ^^

0
regex9  17.11.2021, 10:17
@PandaLukas

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.

0
PandaLukas 
Fragesteller
 17.11.2021, 11:45
@regex9

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

0
regex9  17.11.2021, 19:50
@PandaLukas

Lies doch einmal die Fehlermeldung/-en. Sie geben sogar an, was falsch ist.

0