{ “ID”:56754}
对于上面的JSON,如果我使用jsonResp.getString(“id”),它工作正常,它也适用于jsonResp.getInt(“id”)。
这是否意味着getString就像所有特定方法的父级一样?
答案 0 :(得分:0)
这与java Type层次结构
保持一致
getString
和getInt
是两种完全不同的方法。我得到你想说的内容,没有方法重载或getInt
也没有调用getString
。
很明显,getString
会返回String
而getInt
会返回int
。因此56754
可以解释为String或int。更重要的是,这也适用于getLong
和getDouble
。因为56754
也可以被视为长或双。
答案 1 :(得分:0)
根据消息来源 - 不完全是:
public String getString(String key) throws JSONException {
return get(key).toString();
}
而
public int getInt(String key) throws JSONException {
Object o = get(key);
return o instanceof Number ?
((Number)o).intValue() : (int)getDouble(key);
}
这两种方法都使用相同的方法get
,然后以正确的方式解析结果。