我通过Web服务获取了许多JSON对象,有时json对象格式不正确。
我想在处理之前检查json是否有效。
所以我很喜欢
JsonElement jsonData = parser.parse(attacheddataattribute);
if(jsonData.isJsonObject())
{
//then only process
}
也不是它的投掷了 com.google.gson.stream.MalformedJsonException:解析方法中第1行第8432行的未终止字符串。
是否有任何可用于检查JSON有效性的实现。
答案 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()
}
}