update to json5-java 2.0.0

This commit is contained in:
marhali 2022-02-22 22:36:44 +01:00
parent 26a62159ef
commit a5e8375fe1
5 changed files with 12 additions and 15 deletions

View File

@ -25,7 +25,7 @@ repositories {
}
dependencies {
implementation("de.marhali:json5-java:1.0.1")
implementation("de.marhali:json5-java:2.0.0")
}
// Configure Gradle IntelliJ Plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin

View File

@ -22,7 +22,7 @@ public class Json5ArrayMapper extends ArrayMapper {
public static String read(Json5Array array) {
return read(array.iterator(), (jsonElement -> {
try {
return jsonElement.isJsonArray() || jsonElement.isJsonObject()
return jsonElement.isJson5Array() || jsonElement.isJson5Object()
? "\\" + JSON5.serialize(jsonElement)
: jsonElement.getAsString();
} catch (IOException e) {

View File

@ -11,7 +11,6 @@ import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.math.NumberUtils;
import java.util.Map;
import java.util.regex.Pattern;
/**
* Mapper for mapping json5 objects into translation nodes and backwards.
@ -25,14 +24,14 @@ public class Json5Mapper {
TranslationNode childNode = node.getOrCreateChildren(key);
if(value.isJsonObject()) {
if(value.isJson5Object()) {
// Nested element - run recursively
read(locale, value.getAsJsonObject(), childNode);
read(locale, value.getAsJson5Object(), childNode);
} else {
Translation translation = childNode.getValue();
String content = value.isJsonArray()
? Json5ArrayMapper.read(value.getAsJsonArray())
String content = value.isJson5Array()
? Json5ArrayMapper.read(value.getAsJson5Array())
: StringUtil.escapeControls(value.getAsString(), true);
translation.put(locale, content);

View File

@ -39,8 +39,8 @@ public class Json5ParserStrategy extends ParserStrategy {
try (Reader reader = new InputStreamReader(vf.getInputStream(), vf.getCharset())) {
Json5Element input = JSON5.parse(reader);
if(input != null && input.isJsonObject()) {
Json5Mapper.read(file.getLocale(), input.getAsJsonObject(), targetNode);
if(input != null && input.isJson5Object()) {
Json5Mapper.read(file.getLocale(), input.getAsJson5Object(), targetNode);
}
}
}

View File

@ -1,8 +1,6 @@
package de.marhali.easyi18n.mapper;
import com.google.gson.JsonObject;
import de.marhali.easyi18n.io.parser.json.JsonArrayMapper;
import de.marhali.easyi18n.io.parser.json.JsonMapper;
import de.marhali.easyi18n.io.parser.json5.Json5ArrayMapper;
import de.marhali.easyi18n.io.parser.json5.Json5Mapper;
import de.marhali.easyi18n.model.KeyPath;
@ -66,10 +64,10 @@ public class Json5MapperTest extends AbstractMapperTest {
Json5Object output = new Json5Object();
Json5Mapper.write("en", output, data.getRootNode());
Assert.assertTrue(output.get("simple").isJsonArray());
Assert.assertEquals(arraySimple, Json5ArrayMapper.read(output.get("simple").getAsJsonArray()));
Assert.assertTrue(output.get("escaped").isJsonArray());
Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(Json5ArrayMapper.read(output.get("escaped").getAsJsonArray())));
Assert.assertTrue(output.get("simple").isJson5Array());
Assert.assertEquals(arraySimple, Json5ArrayMapper.read(output.get("simple").getAsJson5Array()));
Assert.assertTrue(output.get("escaped").isJson5Array());
Assert.assertEquals(arrayEscaped, StringEscapeUtils.unescapeJava(Json5ArrayMapper.read(output.get("escaped").getAsJson5Array())));
TranslationData input = new TranslationData(true);
Json5Mapper.read("en", output, input.getRootNode());