Несоответствие типов: невозможно преобразовать из 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 ответ

Убедитесь, что вы импортируете org.json.JSONObjectне org.json.simple.JSONObject, Ошибка указывает, что ваш код пытается привести к последнему, но получил первый. Поскольку два класса имеют одно и то же локальное имя, легко случайно импортировать неправильный.

Другие вопросы по тегам