Json解析的时候有两种方式根据Key的值获取对应的Value:
一种是get,一种是opt:,
先看optInt的源码:
public int optInt(int index) { return optInt(index, 0); } /** * Returns the value at {@code index} if it exists and is an int or * can be coerced to an int. Returns {@code fallback} otherwise. */ public int optInt(int index, int fallback) { Object object = opt(index); Integer result = JSON.toInteger(object); return result != null ? result : fallback; }
主要是看有两个参数的方法,当根据当找不到当前给的key的时候,会使用fallback中的值作为value返回。
下面是getInt的源码:
public int getInt(String name) throws JSONException { Object object = get(name); Integer result = JSON.toInteger(object); if (result == null) { throw JSON.typeMismatch(name, object, "int"); } return result; }
getInt方法在找不到对应的key的时候会抛异常。