Json中getString()和optString()之间的区别

ofe*_*iko 66 java json org.json

getString()optString()JSON有什么区别?

Jef*_*eff 118

正如迭戈所提到的,检查文档是一个好主意(这个链接现在已经过时了 - 我们有Wayback Machine的好东西!),然后在这里发布一个问题,但现在您已经:

区别在于,如果指定的键不存在,则optString返回空字符串("").getString另一方面抛出一个JSONException.使用getString如果它是一个错误的数据丢失,或者optString如果你不知道它会在那里.

编辑:文档中的完整描述:

获取与密钥关联的可选字符串.如果没有这样的键,它返回一个空字符串.如果该值不是字符串且不为null,则将其转换为字符串.

  • 仅供参考:如果指定的键不存在,则将第二个字符串作为参数将用作默认值. (3认同)

Tri*_*oya 10

如果你想避免NullPointerException你更好地利用optString()

如果您是从JSON任何时间获取数据,那么您可能拥有null特定Key值的数据,而不是实现Null条件,更好地利用此优化方法optString("<keyname>")