Saltar al contenido

Java GSON: obtener la lista de todos keys bajo un JSONObject

Puede que se de el caso de que halles algún error en tu código o proyecto, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.

Solución:

Puede usar JsonParser para convertir su Json en una estructura intermedia que le permita examinar el contenido de json.

String yourJson = "your json here";
JsonElement element = JsonParser.parseString(yourJson);
JsonObject obj = element.getAsJsonObject(); //since you know it's a JsonObject
Set> entries = obj.entrySet();//will return members of your object
for (Map.Entry entry: entries) 
    System.out.println(entry.getKey());

Desde Java 8, puede usar Streams como una alternativa más atractiva:

String str = ""key1":"val1", "key2":"val2"";

JsonParser parser = new JsonParser();
JsonObject jObj = (JsonObject) parser.parse(str);

List keys = jObj.entrySet()
    .stream()
    .map(i -> i.getKey())
    .collect(Collectors.toCollection(ArrayList::new));

keys.forEach(System.out::println);

A partir de Gson 2.8.1 puedes usar keySet():

String json = ""key1":"val", "key2":"val"";

JsonParser parser = new JsonParser();
JsonObject jsonObject = parser.parse(json).getAsJsonObject();

Set keys = jsonObject.keySet();

Finalizando este artículo puedes encontrar las anotaciones de otros programadores, tú además eres capaz insertar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *