
io.json.compare.DefaultJsonComparator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of json-compare Show documentation
Show all versions of json-compare Show documentation
Java library for comparing JSONs
package io.json.compare;
import java.util.Set;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class DefaultJsonComparator implements JsonComparator {
private final Set compareModes;
public DefaultJsonComparator(Set compareModes) {
this.compareModes = compareModes;
}
public boolean compareValues(Object expected, Object actual) {
if (compareModes != null && compareModes.contains(CompareMode.REGEX_DISABLED)) {
return expected.toString().equals(actual.toString());
} else {
try {
Pattern pattern = Pattern.compile(expected.toString(), Pattern.DOTALL | Pattern.MULTILINE);
return pattern.matcher(actual.toString()).matches();
} catch (PatternSyntaxException e) {
return expected.toString().equals(actual.toString());
}
}
}
public boolean compareFields(String expected, String actual) {
if (compareModes != null && compareModes.contains(CompareMode.REGEX_DISABLED)) {
return expected.equals(actual);
} else {
try {
Pattern pattern = Pattern.compile(expected, Pattern.DOTALL | Pattern.MULTILINE);
return pattern.matcher(actual).matches();
} catch (PatternSyntaxException e) {
return expected.equals(actual);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy