0

{"id":56754}

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

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

4

2 回答 2

0

方法不继承

这与 java 类型层次结构保持一致

getString并且getInt是两种完全不同的方法。我明白你想说什么,没有方法重载或getInt不调用getString

很明显,getString返回 aStringgetInt返回 a int。所以56754这里可以解释为String或int。还有更多,这甚至可以与getLongand一起使用getDouble。As56754也可以被视为 long 或 double。

于 2013-06-02T05:59:11.577 回答
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,然后以正确的方式解析结果。

于 2013-06-02T05:59:45.370 回答