This is my first post so thank you.
I'm using javax.json library to read a imported file.txt which contains a Json.
this is the text:
[{
"role" : "role1",
"db" : "db_admin",
"flag" : false,
"roles" : [
{
"role" : "role",
"db" : "db_admin"
}
],
"inRoles" : [
{
"role" : "role",
"db" : "db_admin"
}
]
},
{
"role" : "role2",
"db" : "db_admin",
"flag" : false,
"roles" : [
{
"role" : "role",
"db" : "db_admin"
}
],
"inRoles" : [
{
"role" : "role",
"db" : "db_admin"
}
]
},
{
"role" : "role3",
"db" : "db_admin",
"flag" : false,
"roles" : [
{
"role" : "role",
"db" : "db_admin"
}
],
"inRoles" : [
{
"role" : "role",
"db" : "db_admin"
}
]
}]
Now, I made a few attempts, but I can read just the first object. this is my code to read the first JsonArray:
//I read all line and put them into StringBuilder and then in a unique String
String json = sbJson.toString();
JsonReader jsonreader = Json.createReader(new StringReader(json));
// Get the JsonObject structure from JsonReader.
JsonObject jsonobject = jsonreader.readObject();
jsonreader.close();
// read json array
JsonArray jsonarray = jsonobject.getJsonArray("roles");
JsonObject value = jsonarray.getJsonObject(0);
String roles_role = value.getString("role");
String roles_db = value.getString("db");
jsonarray = jsonobject.getJsonArray("inRoles");
value = jsonarray.getJsonObject(0);
String inheritedRoles_role = value.getString("role");
String inheritedRoles_db = value.getString("db");
So I can get all elements from the first JsonObject, but I need to others and I have tried a more solutions but them not work for me...