Я знаю, что вопрос касается JSONArray, но вот пример, который я нашел полезным, когда вам не нужно использовать JSONArray для извлечения объектов из JSONObject.
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
String jsonStr = "{\"types\":[1, 2]}";
JSONObject json = (JSONObject) JSONValue.parse(jsonStr);
List<Long> list = (List<Long>) json.get("types");
if (list != null) {
for (Long s : list) {
System.out.println(s);
}
}
Работает также с массивом строк