【问题标题】:Type mismatch: cannot convert from org.json.JSONObject to org.json.simple.JSONObject类型不匹配:无法从 org.json.JSONObject 转换为 org.json.simple.JSONObject
【发布时间】:2016-01-07 13:42:21
【问题描述】:

执行以下代码时,出现类型不匹配错误。请帮我解决这个问题。

/**
 * 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 部分。

【问题讨论】:

  • 您是否导入了正确的JSONObject 类?听起来您应该导入org.json.JSONObject,而不是org.json.simple.JSONObject
  • 非常感谢埃里克。这就是问题所在。我已经使用 'org.json.simple.JSONObject" 现在它已排序。非常感谢
  • 太棒了!我已将我的评论转换为答案,以便您接受。

标签: java jira-zephyr


【解决方案1】:

确保您导入的是org.json.JSONObject,而不是org.json.simple.JSONObject。该错误表明您的代码正在尝试转换为后者,但收到了前者。因为这两个类有相同的本地名称,很容易不小心导入错误的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 2013-07-30
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多