Files
howtodata/java_src/TryOut.java

60 lines
2.1 KiB
Java

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);
System.out.println("Manuell erzeugtes Java-Record:");
}
private static Person aliceAutomatically(JsonObject ali) {
ArrayList<String> hob = new ArrayList<>();
for (JsonValue hobby : ali.getJsonArray("hobbies")) {
JsonString jsonhobby = (JsonString) hobby;
hob.add(jsonhobby.getString());
}
ArrayList<String> 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;
}
}