JSON检查器以避免com.google.gson.stream.MalformedJsonException

时间:2013-07-19 10:14:18

标签: java json java-ee

我通过Web服务获取了许多JSON对象,有时json对象格式不正确。

我想在处理之前检查json是否有效。

所以我很喜欢

JsonElement jsonData = parser.parse(attacheddataattribute);
if(jsonData.isJsonObject()) 
                {
//then only process
}

也不是它的投掷了     com.google.gson.stream.MalformedJsonException:解析方法中第1行第8432行的未终止字符串。

是否有任何可用于检查JSON有效性的实现。

2 个答案:

答案 0 :(得分:2)

这是你的验证。无需拨打任何服务。

如果方法正在抛出MalformedJsonException,那么它就是格式错误的JSON。

如果您愿意,可以将其包装在像

这样的方法中
public boolean isValidJson(String json) {
    try {
        // parse json
        return true;
    } catch(MalformedJsonException e) {
        return false;
    }
}

答案 1 :(得分:0)

我也遇到了MalformedJsonException崩溃,但就我而言,我需要使用Throwable添加一个catch块:

    fun jsonToList(value: String?): MutableList<String> {
        var objects: Array<String> = emptyArray()
        try {
            objects = Gson().fromJson(value, Array<String>::class.java)
        }catch (t: Throwable){

        }finally {
            return objects.toMutableList()
        }
    }