使用getString for Integer

时间:2013-06-02 05:49:58

标签: android json

{ “ID”:56754}

对于上面的JSON,如果我使用jsonResp.getString(“id”),它工作正常,它也适用于jsonResp.getInt(“id”)。

这是否意味着getString就像所有特定方法的父级一样?

2 个答案:

答案 0 :(得分:0)

方法不继承

  

这与java Type层次结构

保持一致

getStringgetInt是两种完全不同的方法。我得到你想说的内容,没有方法重载或getInt也没有调用getString

很明显,getString会返回StringgetInt会返回int。因此56754可以解释为String或int。更重要的是,这也适用于getLonggetDouble。因为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,然后以正确的方式解析结果。