X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Futil%2FJsonHandler.java;h=d2d6de317ea08f19dfb982f0a5a7edd56e547970;hb=6decfd3814e45f226874e6f841ed825b1aa9926c;hp=20491ce58f27ab3c278a06d1d7f1b196da9da1f7;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java index 20491ce5..d2d6de31 100644 --- a/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java +++ b/plugins/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java @@ -39,8 +39,13 @@ public class JsonHandler public static T fromJson(String src, Class type) { - // throw away legacy version line - String rawJson = src.lines().dropWhile(s -> s.length() == 0 || s.charAt(0) != '{').collect(Collectors.joining()); + // throw away legacy version line, but keep line numbers + int linesBeforeJsonStart = (int) src.lines().takeWhile(s -> s.length() == 0 || s.charAt(0) != '{').count(); + String rawJson; + if (linesBeforeJsonStart == 0) + rawJson = src; + else + rawJson = "\n".repeat(linesBeforeJsonStart) + src.lines().skip(linesBeforeJsonStart).collect(Collectors.joining("\n")); return parser.fromJson(rawJson, type); }