我从网络服务调用中获取了一个 JSONObject。
JSONObject result = ...........
当我访问时 result.getString("fieldName");
如果 fieldName
存在于该 JSONObject 中,那么它工作正常。如果不存在,我将收到异常 JSONObject["fieldName"] not found.
我可以为此使用 try catch
。但是我有近 20 个这样的字段。我需要为此使用 20 个 try catch 块还是有其他选择。在此先感谢…
原文由 PSR 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一种方法
JSONObject#has(key)
正是为了这个目的。这样就可以避免对每个字段进行异常处理。此外,您可以使用
JSONObject#isNull(str)
方法来检查它是否是null
或不是。您还可以将逻辑移动到一个通用方法(为了代码的可重用性),您可以在其中传递任何
JSONObject
和字段名称,如果该字段存在或不存在,该方法将返回。