package java_src; import javax.json.*; import java.io.IOException; import java.io.StringReader; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; public class TryOut { public static void main(String[] args) { String jsonString; try { // Path path = Paths.get("/home/jan/git-projekte/howtodata/JSON/alice.json"); // Absoluter Pfad Path path = Paths.get("JSON/alice.json"); // Besser: relativer Pfad jsonString = FileHelper.readJson(path); System.out.println("Aus Datei eingelesener Json-String:"); System.out.println(jsonString); } catch (IOException e) { System.err.println(e); jsonString = "{}"; } JsonReader jsonReader = Json.createReader(new StringReader(jsonString)); JsonObject ali = jsonReader.readObject(); jsonReader.close(); System.out.println("In JsonObject verwandelt:"); System.out.println(ali.toString()); System.out.println("Aus JsonObject erzeugtes Java-Record:"); Person a1 = aliceAutomatically(ali); System.out.println(a1); } private static Person aliceAutomatically(JsonObject ali) { ArrayList hob = new ArrayList<>(); for (JsonValue hobby : ali.getJsonArray("hobbies")) { JsonString jsonhobby = (JsonString) hobby; hob.add(jsonhobby.getString()); } ArrayList fri = new ArrayList<>(); for (JsonValue friend : ali.getJsonArray("friends")) { JsonString jsonFriend = (JsonString) friend; fri.add(jsonFriend.getString()); } JsonObject jasonAddr = ali.getJsonObject("address"); Address javaAddr = new Address(jasonAddr.getString("street"), jasonAddr.getString("number"), jasonAddr.getString("city")); Person aliAuto = new Person(ali.getString("name"), ali.getInt("age"), ali.getString("email"), javaAddr, hob, fri); return aliAuto; } }