找不到符号方法d(java.lang.String,java.lang.String)

时间:2011-10-03 06:44:27

标签: java

当我编译下面的代码时出现错误:

canot find symbol
 location: interface org.apache.commons.logging.Log    Log.d(TAG,"JSON parsing error - fix it:" + e.getMessage());`

这是我的代码:

//convertJSONtoArray

private void convertJSONtoArray(String rawJSON){
    try {
        JSONObject completeJSONObj = new JSONObject(rawJSON);
        String json = completeJSONObj.toString();
        Log.d(TAG,json);
        JSONObject results = completeJSONObj.getJSONObject("results");
    } catch (JSONException e) {
        Log.d(TAG,"JSON parsing error - fix it:" + e.getMessage());
    }
}

1 个答案:

答案 0 :(得分:1)

有两个可能的原因:

<强> 1。您使用的是Android

在这种情况下,使用以下命令替换Apache Commons Logging Log的导入:

import android.util.Log;

<强> 2。您正在正常的Java环境中开发

您班级顶部的import语句包含Apache Commons Logging Log,但代码绝对不是为Commons Logging编写的。

对于Commons Loggig应该是这样的:

private static final Log LOG = LogFactory.getLog(NAME_OF_YOUR_CLASS.class);

private void convertJSONtoArray(String rawJSON){
    try {
        JSONObject completeJSONObj = new JSONObject(rawJSON);
        String json = completeJSONObj.toString();
        if (LOG.isDebugEnabled()) {
            LOG.debug(TAG,json);
        }
        JSONObject results = completeJSONObj.getJSONObject("results");
    } catch (JSONException e) {
        if (LOG.isDebugEnabled()) {
            LOG.debug(TAG,"JSON parsing error - fix it:" + e.getMessage());
        }
    }
}