programing

JsonObject 속성을 통해 반복

batch 2023. 3. 27. 21:06
반응형

JsonObject 속성을 통해 반복

큰 포장을 반복하고 싶습니다JsonObjectGson과 함께.내 최종목표는 이 모든것들을ArrayList현존하는 모든 세 자리 숫자 중code내면의 정수"unterfeld"하지만 외부 객체의 속성을 반복할 수 있으면 문제 없습니다.

{
  "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
  }
}

그것을 할 수 있는 좋은 방법이 있을까요?

를 사용하여 가장 바깥쪽 멤버에 대해 반복할 수 있습니다.JsonObject.

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());
    }
}

언급URL : https://stackoverflow.com/questions/10165088/iterate-over-jsonobject-properties

반응형