fix array mapper on complex values

This commit is contained in:
marhali 2022-02-07 19:21:44 +01:00
parent 0eb882e765
commit 512daedf09
2 changed files with 17 additions and 17 deletions

View File

@ -3,6 +3,8 @@
# easy-i18n Changelog # easy-i18n Changelog
## [Unreleased] ## [Unreleased]
### Fixed
- Exception on json array value mapping
## [3.0.0] ## [3.0.0]
### BREAKING CHANGES ### BREAKING CHANGES

View File

@ -14,7 +14,7 @@ public class JsonArrayMapper extends ArrayMapper {
public static String read(JsonArray array) { public static String read(JsonArray array) {
return read(array.iterator(), (jsonElement -> jsonElement.isJsonArray() || jsonElement.isJsonObject() return read(array.iterator(), (jsonElement -> jsonElement.isJsonArray() || jsonElement.isJsonObject()
? jsonElement.toString() ? "\\" + jsonElement
: jsonElement.getAsString())); : jsonElement.getAsString()));
} }
@ -22,10 +22,8 @@ public class JsonArrayMapper extends ArrayMapper {
JsonArray array = new JsonArray(); JsonArray array = new JsonArray();
write(concat, (element) -> { write(concat, (element) -> {
if(element.startsWith("{") && element.endsWith("}")) { if(element.startsWith("\\")) {
array.add(GSON.fromJson(element, JsonObject.class)); array.add(GSON.fromJson(element.replace("\\", ""), JsonElement.class));
} else if (element.startsWith("[") && element.endsWith("]")) {
array.add(GSON.fromJson(element, JsonArray.class));
} else { } else {
array.add(element); array.add(element);
} }