Несоответствие типов: невозможно преобразовать из 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
, Ошибка указывает, что ваш код пытается привести к последнему, но получил первый. Поскольку два класса имеют одно и то же локальное имя, легко случайно импортировать неправильный.