一尘不染

如何使用GSON在Java中检查JSON是否有效?

json

我有方法必须检查JSON是否有效,该方法在如何检查给定字符串在Java中是否为有效JSON上找到,但是它不起作用。

public static boolean isJson(String Json) {
        Gson gson = new Gson();
        try {
            gson.fromJson(Json, Object.class);
            return true;
        } catch (com.google.gson.JsonSyntaxException ex) {
            return false;
        }
    }

如果我将此方法与某些字符串一起使用,它将始终返回true。例如:

System.out.println(renderHtml.isJson("{\"status\": \"UP\"}"));

它给了我true

System.out.println(renderHtml.isJson("bncjbhjfjhj"));

true也给了我


阅读 903

收藏
2020-07-27

共1个答案

一尘不染

org.json根据如何检查给定字符串在Java中是否为有效JSON,我找到了解决方案但使用库

public static boolean isJson(String Json) {
        try {
            new JSONObject(Json);
        } catch (JSONException ex) {
            try {
                new JSONArray(Json);
            } catch (JSONException ex1) {
                return false;
            }
        }
        return true;
    }

现在,随机查找的字符串bncjbhjfjhjfalse并且{"status": "UP"}为真。

2020-07-27