I'm trying to read a JSON file with the following structure, I need to get "one" and "three"
{
"images": [
{
"classifiers": [
{
"classifier_id": "id",
"name": "name",
"classes": [
{
"class": "uno",
"score": 0.770309
},
{
"class": "tres",
"score": 0.599846
}
]
}
],
"image": "tablero.jpg"
}
],
"images_processed": 1,
"custom_classes": 6
}
Currently I achieve it this way, but I want to read it through a loop since there may be more data of that type to collect.
Gson gson = new Gson();
JsonParser parser = new JsonParser();
FileReader fr;
try {
fr = new FileReader("documento.json");
JsonElement datos = parser.parse(fr);
//Obtenemos images
JsonObject jobject = datos.getAsJsonObject();
JsonArray arrayImages = jobject.getAsJsonArray("images");
System.out.println("jarray" + arrayImages);
jobject = arrayImages.get(0).getAsJsonObject();
//obtenemos classifiers
JsonArray arrayClassifiers = jobject.getAsJsonArray("classifiers");
System.out.println("Classifiers" + arrayClassifiers);
jobject = arrayClassifiers.get(0).getAsJsonObject();
//obtenemos classes
JsonArray arrayClasses = jobject.getAsJsonArray("classes");
System.out.println("Classes" + arrayClasses);
//Recorrer el arrayClasses y coger la primitiva class
jobject = arrayClasses.get(0).getAsJsonObject();
JsonPrimitive clase = jobject.getAsJsonPrimitive("class");
System.out.println("primitiva " + clase);
jobject = arrayClasses.get(1).getAsJsonObject();
JsonPrimitive prim2 = jobject.getAsJsonPrimitive("class");
System.out.println("primitiva " + prim2);