X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Futil%2FJsonHandler.java;h=0f151b98219abb459d4a57da3299f2c91ed17ec1;hb=95a225aed8eae0fc080440dba779abfdf867ff3d;hp=8dffc94074e0b53cbb9b877749ced11dae1d1696;hpb=a47c9b1f38bbb6d2f5a3c482f3b09d1f42270401;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java index 8dffc940..0f151b98 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java @@ -14,8 +14,7 @@ import com.google.gson.JsonElement; public class JsonHandler { - // TODO: write versions differently - private static Gson parser = new GsonBuilder().setPrettyPrinting().create(); + public final static Gson parser = new GsonBuilder().setPrettyPrinting().create(); public static T readJson(String path, Class type) throws IOException { @@ -38,11 +37,16 @@ public class JsonHandler public static T fromJson(String src, Class type) { - // TODO actually parse and compare version + // throw away legacy version line String rawJson = src.lines().dropWhile(s -> s.length() == 0 || s.charAt(0) != '{').collect(Collectors.joining()); return parser.fromJson(rawJson, type); } + public static T fromJsonTree(JsonElement src, Class type) + { + return parser.fromJson(src, type); + } + public static void writeJson(Object o, String path) throws IOException { try (FileWriter writer = new FileWriter(path)) @@ -53,7 +57,7 @@ public class JsonHandler public static String toJson(Object o) { - return String.format("mograsim version: %s\n%s", Version.jsonCompVersion.toString(), parser.toJson(o)); + return parser.toJson(o); } public static JsonElement toJsonTree(Object o)