Je voudrais parcourir le grand emballage JsonObject
avec Gson . Mon objectif final est d'obtenir un ArrayList
de tous les entiers code
à trois chiffres existants dans les objets "unterfeld"
Internes, mais ce ne sera pas un problème une fois que je pourrai parcourir les objets externes. Propriétés.
{
"something1": {
"bezeichnung": "something1",
"unterfeld": [
{
"bezeichnung": "bla1",
"unterregionen": [
],
"code": 111
},
{
"bezeichnung": "bla2",
"unterregionen": [
],
"code": 222
}
],
"code": 3
},
"something2": {
"bezeichnung": "something2",
"unterfeld": [
{
"bezeichnung": "bla3",
"unterregionen": [
],
"code": 333
}
],
"code": 6
},
"something3": {
"bezeichnung": "something3",
"unterfeld": [
{
"bezeichnung": "bla4",
"unterregionen": [
],
"code": 444
},
{
"bezeichnung": "bla5",
"unterregionen": [
],
"code": 555
},
{
"bezeichnung": "bla6",
"unterregionen": [
],
"code": 666
}
],
"code": 9
}
}
Y a-t-il une manière ordonnée de faire cela?
Vous pouvez utiliser entrySet
pour parcourir les membres du JsonObject
le plus à l'extérieur.
JsonObject object;
ArrayList<Integer> codes = new ArrayList<Integer>();
for (Map.Entry<String,JsonElement> entry : object.entrySet()) {
JsonArray array = entry.getValue().getAsJsonObject().getAsJsonArray("unterfeld");
for (JsonElement codeHolder : array) {
codes.add(codeHolder.getAsJsonObject().getAsJsonPrimitive("code").getAsInt());
}
}