我想验证从服务器获取的一个字符串作为响应。响应必须是有效的JSON字符串。有时,当用户通过需要身份验证的网络或发生PHP错误时,响应不是有效的JSON。
Android解析器JSONTokener在解析字符串之前不会对其进行验证,因此在这种情况下,应用程序会抛出JSONException并强制关闭。
我抓住了异常,但申请仍在关闭。
我的问题是:对象和字符串是否有任何JSON验证器首先验证它们,如果它们的格式无效,是否可以解析它们?
另一个解决方案是检查字符串[0]是否有“{”或“[”但是这个解决方案不优雅并且会错过很多错误。所以我想使用完整的JSON验证器。
提前致谢。
答案 0 :(得分:1)
您使用的是GSON吗?
如果是这样,库在解析格式错误的JSON字符串时会引发JsonSyntaxException
如果您使用的是android.util.JsonReader,则JsonReader会抛出MalformedJsonException