GSON을 사용하여 JSON 응답에서 객체 배열을 가져 오는 방법

맑은 아리아

RestTemplate과 GSON을 사용하여 REST 클라이언트를 작성 중입니다. 아래는 내 JSON 응답 샘플입니다.

{
  "value": [
    {
      "properties": {
        "vmId": "f7f953fb-d853-4373-b564-",
        "hardwareProfile": {
          "vmSize": "Standard_D2"
        },

        },
        "name": "A",
        "Id": ""
    },

    {
      "properties": {
        "vmId": "f7f953fb-d853-4373-b564-",
        "hardwareProfile": {
          "vmSize": "Standard_D2"
        },

        },
        "name": "B",
        "Id": ""
    },

    {
      "properties": {
        "vmId": "f7f953fb-d853-4373-b564-",
        "hardwareProfile": {
          "vmSize": "Standard_D2"
        },

        },
        "name": "C",
        "Id": ""
    }
    ]
}

내가 원하는 것은 속성-> " name"에 대한 값만 가져오고 싶다는 것입니다.

그래서 name멤버 필드 로만있는 간단한 POJO를 만들었습니다 .

public class VMNames {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

이 POJO의 배열을 얻기 위해 이와 같은 GSON을 사용하려고합니다. 여기에서 응답은 내 JSON 응답 객체입니다.

Gson gson = new Gson();
VMNames[] vmNamesArray = gson.fromJson(response.getBody(), VMNames[].class);
System.out.println(vmNamesArray.length);

하지만 이렇게하면 아래와 같은 오류가 발생합니다.

java.lang.IllegalStateException : BEGIN_ARRAY가 필요하지만 1 행 2 열 경로 $에서 BEGIN_OBJECT였습니다.

JSON 개체에서 하나의 속성 만 가져오고 싶기 때문에 JSON 개체와 정확히 동일한 구조를 가진 POJO를 만들고 싶지 않습니다. 실제로 JSON 응답과 동일한 구조로 POJO를 만들지 않아도 되었으면합니다. 실제로는 엄청난 응답이고 제어 할 수 없기 때문에 내일도 바뀔 수 있기 때문입니다.

맑은 아리아

그래서 나는 이것을 할 수 있었다. 누군가가 내일 혜택을받을 수 있도록 이에 대한 답변 게시 :)

먼저 GSON 사용을 중단하고 JSON을 사용하기 시작했습니다. 그리고 아래는 도움이 된 코드입니다.

    RestTemplate restTemplate = new RestTemplate();
    response = (ResponseEntity<String>) restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

    JSONObject jsonObj = new JSONObject(response.getBody().toString());

    JSONArray c = jsonObj.getJSONArray("value");

    for (int i = 0; i < c.length(); i++) {
        JSONObject obj = c.getJSONObject(i);
        String VMName = obj.getString("name");
        VMNames vmnames = new VMNames();
        vmnames.setName(VMName);
        vmNames.add(vmnames);
    }

    return vmNames;

그리고 json 배열의 형태로 속성 이름에 대한 모든 값 목록을 얻습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Gson을 사용하여 중첩 된 JSON 객체에서 데이터를 가져 오는 방법

분류에서Dev

객체 배열을 포함하는 json에서 특정 객체를 가져 오는 방법

분류에서Dev

응답 객체 내에서 항목을 가져 오는 방법

분류에서Dev

객체에서 하위 배열 값을 가져 오는 방법

분류에서Dev

ajax를 사용하여 json api에서 json 배열을 가져 오는 방법

분류에서Dev

요청에서 json 배열을 가져와 GAE와 함께 Python을 사용하여 객체에서 사용하는 방법은 무엇입니까?

분류에서Dev

Java에서 객체 배열을 사용하여 정보를 가져 오는 방법은 무엇입니까?

분류에서Dev

PowerShell을 사용하여 json 응답에서 단일 값을 가져 오는 방법

분류에서Dev

배열 아래에 있고 객체 아래에있는 json 응답에서 값을 추출하는 방법

분류에서Dev

하나의 배열에서이 응답을 가져 오는 방법

분류에서Dev

webAPi에서 JSon에 객체 목록을 가져 오는 방법

분류에서Dev

JSON 응답에서 값을 가져 오는 방법

분류에서Dev

배열 객체를 포함하는 객체에서 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

JSON 응답을 반복하여 배열 / 객체에서 키와 값을 가져옵니다.

분류에서Dev

API 요청 / 응답에서 JSON 매개 변수 값을 가져오고 사용하는 방법

분류에서Dev

개조-JSON 객체에서 응답을 얻는 방법

분류에서Dev

json 응답 객체에서 값을 얻는 방법

분류에서Dev

응답 객체에서 특정 json 키 값을 얻는 방법

분류에서Dev

Swift에서 객체가있는 JSON 배열을 구문 분석하는 방법

분류에서Dev

typeorm을 사용하여 postgres에서 json 객체의 배열을 저장하는 방법

분류에서Dev

각도를 사용하여 Json 객체에서 Json 배열을 구문 분석하는 방법

분류에서Dev

배열의 JSON 객체에서 속성 값을 가져오고 URL에 쓰는 방법

분류에서Dev

jquery : JSON 객체 배열에서 다른 값으로 값을 가져 오는 방법

분류에서Dev

mvvm을 사용하여 Kotlin Android의 해시 맵에있는 객체에서 값을 가져 오는 방법

분류에서Dev

json 객체 배열에서 null 값을 삭제하는 방법

분류에서Dev

Angular 2에서 2 개의 객체를 사용하여 JSON 웹 서비스에서 값을 가져 오는 방법

분류에서Dev

D3 객체 배열을 사용하여 키에서 값 가져 오기

분류에서Dev

JavaScript에서 배열을 사용하여 객체 값 가져 오기

분류에서Dev

JSON 하위 객체의 배열을 가져오고 배열에서 일치하는 항목을 찾는 각도 방식.

Related 관련 기사

  1. 1

    Gson을 사용하여 중첩 된 JSON 객체에서 데이터를 가져 오는 방법

  2. 2

    객체 배열을 포함하는 json에서 특정 객체를 가져 오는 방법

  3. 3

    응답 객체 내에서 항목을 가져 오는 방법

  4. 4

    객체에서 하위 배열 값을 가져 오는 방법

  5. 5

    ajax를 사용하여 json api에서 json 배열을 가져 오는 방법

  6. 6

    요청에서 json 배열을 가져와 GAE와 함께 Python을 사용하여 객체에서 사용하는 방법은 무엇입니까?

  7. 7

    Java에서 객체 배열을 사용하여 정보를 가져 오는 방법은 무엇입니까?

  8. 8

    PowerShell을 사용하여 json 응답에서 단일 값을 가져 오는 방법

  9. 9

    배열 아래에 있고 객체 아래에있는 json 응답에서 값을 추출하는 방법

  10. 10

    하나의 배열에서이 응답을 가져 오는 방법

  11. 11

    webAPi에서 JSon에 객체 목록을 가져 오는 방법

  12. 12

    JSON 응답에서 값을 가져 오는 방법

  13. 13

    배열 객체를 포함하는 객체에서 값을 가져 오는 방법은 무엇입니까?

  14. 14

    JSON 응답을 반복하여 배열 / 객체에서 키와 값을 가져옵니다.

  15. 15

    API 요청 / 응답에서 JSON 매개 변수 값을 가져오고 사용하는 방법

  16. 16

    개조-JSON 객체에서 응답을 얻는 방법

  17. 17

    json 응답 객체에서 값을 얻는 방법

  18. 18

    응답 객체에서 특정 json 키 값을 얻는 방법

  19. 19

    Swift에서 객체가있는 JSON 배열을 구문 분석하는 방법

  20. 20

    typeorm을 사용하여 postgres에서 json 객체의 배열을 저장하는 방법

  21. 21

    각도를 사용하여 Json 객체에서 Json 배열을 구문 분석하는 방법

  22. 22

    배열의 JSON 객체에서 속성 값을 가져오고 URL에 쓰는 방법

  23. 23

    jquery : JSON 객체 배열에서 다른 값으로 값을 가져 오는 방법

  24. 24

    mvvm을 사용하여 Kotlin Android의 해시 맵에있는 객체에서 값을 가져 오는 방법

  25. 25

    json 객체 배열에서 null 값을 삭제하는 방법

  26. 26

    Angular 2에서 2 개의 객체를 사용하여 JSON 웹 서비스에서 값을 가져 오는 방법

  27. 27

    D3 객체 배열을 사용하여 키에서 값 가져 오기

  28. 28

    JavaScript에서 배열을 사용하여 객체 값 가져 오기

  29. 29

    JSON 하위 객체의 배열을 가져오고 배열에서 일치하는 항목을 찾는 각도 방식.

뜨겁다태그

보관