getJSON与optJSON

Jas*_*n L 23 json getjson

我一直在寻找的在文档JSONObject时候,我注意到了两种方法:getJSONObject(String key)optJSONObject(String key).从文档中,我认为他们做了几乎相同的事情有一个区别:如果找不到键或值,则getJSONObject()抛出一个JSONExceptionoptJSONObject()只是返回null.

  1. getJSONObject()和之间还有其他差异optJSONObject()吗?
  2. 有什么优势getopt,反之亦然?
  3. 是否有特定的情况我想要使用一个而不是强烈劝阻/禁止使用一个?

Ste*_*nTB 12

JSON中的值可能是可选的,因此使用optJSONObject会更好,因为您只需要检查它是否为null并继续执行您的函数.


Mar*_*hri 8

optString如果您指定的键不存在,则返回空字符串("").getString抛出一个JSONException.