2016-01-07 70 views
1

执行以下代码时,出现类型不匹配错误。请帮我解决这个问题。类型不匹配:无法从org.json.JSONObject转换为org.json.simple.JSONObject

/** 
* Gets the versionID for the project. 
* 
* @param versionName 
* @param projectId 
* @throws IOException 
* @return the ID for the specified Version in the specified Project 
*/ 
public static String getVersionID(final String versionName, final String projectId) 
     throws IOException { 
    // Get list of versions on the specified project 
    final JSONObject projectJsonObj = 
      httpGetJSONObject(ZAPI_URL + "util/versionBoard-list?projectId=" + projectId); 
    if (null == projectJsonObj) { 
     throw new IllegalStateException("JSONObject is null for projectId=" + projectId); 
    } 

    final JSONArray versionOptions = (JSONArray) projectJsonObj.get("versionOptions"); 

    // Iterate over versions 
    for (int i = 0; i < versionOptions.length(); i++) { 
     final JSONObject obj2 = versionOptions.getJSONObject(i); 
     // If label matches specified version name 
     if (obj2.getString("label").equals(versionName)) { 
      // Return the ID for this version 
      return obj2.get("value"); 
      // return obj2.getString("value"); 
     } 
    } 

    throw new IllegalStateException("Version ID not found for versionName=" + versionName); 
} 

该错误是上下面的行:

final JSONObject obj2 = versionOptions.getJSONObject(i); 

if部和return一部分。

+1

您是否正在导入正确的'JSONObject'类?这听起来像你应该导入'org.json.JSONObject',而不是'org.json.simple.JSONObject'。 –

+0

非常感谢Eric。这是问题。我已经使用'org.json.simple.JSONObject'现在它已排序。非常感谢 – dilRox

+0

好!我已将我的评论转换为答案,以便您可以接受它。 –

回答

2

确保你要导入org.json.JSONObject而不是org.json.simple.JSONObject。这个错误表明你的代码试图投射到后者,但收到前者。因为这两个类具有相同的本地名称,所以很容易意外导入错误的名称。

+0

非常感谢您的建议。现在,我的代码工作中 – dilRox

相关问题