diff --git a/CHANGELOG.md b/CHANGELOG.md index fd8286e..9beac87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,23 +3,25 @@ # easy-i18n Changelog ## [Unreleased] +### Fixed +- Exception on json array value mapping ## [3.0.0] -### BREAKING CHANGES -- The local file structure of your translation files must be configured in the settings menu +### BREAKING CHANGES +- The local file structure of your translation files must be configured in the settings menu -### Added -- Modularization supports namespace or locale module -- Full namespace / locale module support for all file types -- Support for object and array elements inside json arrays -- IDE integrated error report functionality +### Added +- Modularization supports namespace or locale module +- Full namespace / locale module support for all file types +- Support for object and array elements inside json arrays +- IDE integrated error report functionality -### Changed -- Improve exception handling on IO operations -- Update dependencies +### Changed +- Improve exception handling on IO operations +- Update dependencies -### Fixed -- Character unescaping for '.properties' files +### Fixed +- Character unescaping for '.properties' files - Exception on json files without any content ## [2.0.0] diff --git a/src/main/java/de/marhali/easyi18n/io/parser/json/JsonArrayMapper.java b/src/main/java/de/marhali/easyi18n/io/parser/json/JsonArrayMapper.java index 13477fc..da43c87 100644 --- a/src/main/java/de/marhali/easyi18n/io/parser/json/JsonArrayMapper.java +++ b/src/main/java/de/marhali/easyi18n/io/parser/json/JsonArrayMapper.java @@ -14,7 +14,7 @@ public class JsonArrayMapper extends ArrayMapper { public static String read(JsonArray array) { return read(array.iterator(), (jsonElement -> jsonElement.isJsonArray() || jsonElement.isJsonObject() - ? jsonElement.toString() + ? "\\" + jsonElement : jsonElement.getAsString())); } @@ -22,10 +22,8 @@ public class JsonArrayMapper extends ArrayMapper { JsonArray array = new JsonArray(); write(concat, (element) -> { - if(element.startsWith("{") && element.endsWith("}")) { - array.add(GSON.fromJson(element, JsonObject.class)); - } else if (element.startsWith("[") && element.endsWith("]")) { - array.add(GSON.fromJson(element, JsonArray.class)); + if(element.startsWith("\\")) { + array.add(GSON.fromJson(element.replace("\\", ""), JsonElement.class)); } else { array.add(element); }