參考:http://stackoverflow.com/questions/15791878/reliable-json-string-validator-in-java
用 com.google.gson.JsonParser 對(duì)一個(gè) JSON 格式字符串做 JSON 格式校驗(yàn),有人推薦下面做法:
public boolean isValid(String json) { try { new JsonParser().parse(json); return true; } catch (JsonSyntaxException jse) { return false; } }
這種做法欠妥,因?yàn)橄?HelloWorld 這樣的字符串也能通過(guò)校驗(yàn),而不發(fā)生 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;
}`