Extraindo chaves de um JSONObject usando keySet ()

Eu estou tentando extrair as chaves de um objeto JSON. O objeto JSON, neste caso, é obtido fazendo uma chamada de API para um site de rede social chamadoSkyRock e se parece com isso:

{
  "max_page": 2,
  "posts":  {
    "3111623007":  {
      "id_post": 3111623007,
      "media_align": "float_left",
      "tags":  [],
      "nb_comments": 24
    },
    "3114564209":  {
      "id_post": 3114564209,
      "media_align": "float_left",
      "tags":  [],
      "nb_comments": 33
    },
    "3116902311":  {
      "id_post": 3116902311,
      "media_align": "float_left",
      "tags":  [],
      "nb_comments": 29
    }
  }
}

Eu basicamente quero armazenar todo opost_id valores em um ArrayList. Para fazer isso, estou tentando extrair ochaves do objeto JSON e estou fazendo isso da seguinte maneira:

JSONObject posts = (JSONObject) jo.get("posts");
ArrayList<String> keys = (ArrayString<String>) posts.keyset();

O problema é que não consigo encontrar um tipo de variável adequado no qual eu possa armazenar o resultado obtido doconjunto de chaves() método.

Eu tentei procurar as respostas, mas na maioria dos casos,chaves() está sendo usado para extrair as chaves (que não posso usar por algum motivo e acho que talvez seja porque estou usando org.json.simple, mas não tenho certeza).

Alguém pode me ajudar aqui para encontrar uma solução para o problema ou qualquer método alternativo para recuperar os valores de chave?

Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion