Как веренуть ключи из массива?
Познавательный факт нумеро уно: Эта структура данных называется не массив.
Эн сегундо, можно проще:for (String key : jsonObject.keys()) {
    String value = jsonObject.getString(key);
}
Нет никакого getNames(), есть names()
вопрос решил так:
Сначала поставьте это где-нибудь:private <T> Iterable<T> iteratorToIterable(final Iterator<T> iterator) {
    return new Iterable<T>() {
        @Override
        public Iterator<T> iterator() {
            return iterator;
        }
    };
}
Затем просто перебирайте ключи объекта и значения:for (String key : iteratorToIterable(object.keys())) {
    JSONObject entry = object.getJSONObject(key);
    // ...