校验json格式
直接上代码
package com.mysteel.article.domain.utils;
import org.apache.commons.lang3.StringUtils;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
public class JsonValidator {
private static CharacterIterator it;
private static char c;
private static int col;
public JsonValidator(){
}
public static boolean validate(String input) {
if(StringUtils.isEmpty(input)){
return false;
}
input = input.trim();
boolean ret = valid(input);
return ret;
}
private static boolean valid(String input) {
if ("".equals(input)) {
return true;
}
boolean ret = true;
it = new StringCharacterIterator(input);
c = it.first();
col = 1;
if (!value()) {
ret = error("value", 1);
} else {
skipWhiteSpace();
if (c != CharacterIterator.DONE) {
ret = error("end", col);
}
}
return ret;
}
private static boolean value() {
return literal("true") || literal("false") || literal("null") || string() || number(