参考:http://stackoverflow.com/questions/15791878/reliable-json-string-validator-in-java
用 com.google.gson.JsonParser 对一个 JSON 格式字符串做 JSON 格式校验,有人推荐下面做法:
public boolean isValid(String json) { try { new JsonParser().parse(json); return true; } catch (JsonSyntaxException jse) { return false; } }
这种做法欠妥,因为像 HelloWorld 这样的字符串也能通过校验,而不发生 JsonSyntaxException 异常。正确的做法如下:
`public boolean isValid(String json) {
JsonElement element;
try {
element = new JsonParser().parse(json);
} catch (Exception e) {
return false;
}
if (!element.isJsonObject()) {
return false;
}
return true;
}`
网友评论