Jackson 2.0을 사용하여 JSON 객체 배열 구문 분석

Jackson을 1.9.4에서 2.2.0으로 업그레이드하는 중입니다. 객체에 대한 배열 구문 분석이 작동하지 않는 것 외에는 전환이 원활했습니다. 1.9.4에서는 다음과 같이 할 수 있습니다.

private List<Subjects> mSubjects;
mSubjects = objectMapper.readValue(subjectsJsonArrayNode, new TypeReference<List<Subjects>>() {});

Jackson 2.2.0에서는 "cannot resolve method"컴파일 타임 오류가 발생합니다. 1.9.4 용 Jackson의 ObjectMapper 헤더 파일에는 JsonNode에 대한 다음 readValue 메서드가 포함되어 있습니다.

public <T> T readValue(JsonNode root, java.lang.Class<T> valueType)
public <T> T readValue(JsonNode root, org.codehaus.jackson.type.TypeReference valueTypeRef)
public <T> T readValue(JsonNode root, org.codehaus.jackson.type.JavaType valueType)

그리고 Jackson 2.2.0의 헤더 파일 :

public <T> T readValue(JsonParser jsonParser, java.lang.Class<T> tClass)
public <T> T readValue(JsonParser jsonParser, com.fasterxml.jackson.core.type.TypeReference<?> typeReference)
public final <T> T readValue(JsonParser jsonParser, com.fasterxml.jackson.core.type.ResolvedType resolvedType)
public <T> T readValue(JsonParser jsonParser, com.fasterxml.jackson.databind.JavaType javaType) 

따라서 JsonNode를 JsonParser로 전달하는 방법을 전환해야하지만 전환 방법을 잘 모르겠습니다. 즉, JsonParser가 추상 클래스로 정의되어 있으므로 인스턴스를 쉽게 초기화 할 수 없기 때문에 올바른 경로로 가고 있는지조차 모르겠습니다.

답이없는 사람들을 위해 다음은 각 객체를 반복하고 수동으로 구문 분석하는 임시 솔루션입니다.

 private List<Subjects> mSubjects = new ArrayList<Subjects>();
 for(JsonNode subjectJsonNode : subjectsJsonArrayNode) {
    mSubjects.add(objectMapper.treeToValue(subjectJsonNode, Subject.class));
 }
브라이언 로치

JsonNode.traverse()메서드를 호출 하여 JsonParser.

다음과 같은 간단한 예제로 테스트했습니다.

public class App {

    public static class Foo {
        public int foo;
    }

    public static void main(String[] args) {

        String json = "{\"someArray\":[{\"foo\":5},{\"foo\":6},{\"foo\":7}]}";
        ObjectMapper mapper = new ObjectMapper();
        JsonNode node = mapper.readTree(json);
        node = node.get("someArray");
        TypeReference<List<Foo>> typeRef = new TypeReference<List<Foo>>(){};
        List<Foo> list = mapper.readValue(node.traverse(), typeRef);
        for (Foo f : list) {
            System.out.println(f.foo);
        }
    }
}

출력 :

5
6
7

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Retrofit을 사용하여 객체 배열로 JSON 배열 구문 분석

분류에서Dev

JSON 문자열을 NSDictionary로 구문 분석하여 객체 배열로 Objective C

분류에서Dev

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

분류에서Dev

Retrofit을 사용하여 다른 속성을 가진 객체를 포함하는 JSON 배열 구문 분석

분류에서Dev

Jackson을 사용하여 JSON 객체 키를 정수로 어떻게 구문 분석합니까?

분류에서Dev

Android : 객체 배열의 JSON 배열을 구문 분석하는 방법

분류에서Dev

Jackson을 사용하여 식별자없이 JSON 개체 구문 분석

분류에서Dev

파이썬에서 객체를 사용하여 JSON 배열 구문 분석

분류에서Dev

Gson을 사용하여 목록 객체 JSON 구문 분석

분류에서Dev

JSON을 사용하지 않고 문자열 객체 구문 분석

분류에서Dev

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

분류에서Dev

Jackson 또는 Gson을 사용하여 JSON 구문 분석

분류에서Dev

swifty json 구문 분석 배열 객체

분류에서Dev

Json 배열 및 객체 구문 분석

분류에서Dev

JSON 객체 배열을 구문 분석하고 여기에서 배열을 만드는 방법

분류에서Dev

PowerShell을 사용하여 JSON 배열 구문 분석

분류에서Dev

Gson을 사용하여 중첩 배열로 JSON 구문 분석

분류에서Dev

VBA 및 JSON을 사용하여 중첩 배열 구문 분석

분류에서Dev

JavaScript의 json2csv 모듈에서 사용할 배열을 포함하는 JS 객체를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Angular2를 사용하여 응답 json을 객체로 구문 분석하지 못함

분류에서Dev

Blob을 사용하여 배열 개체 구문 분석

분류에서Dev

Blob을 사용하여 배열 개체 구문 분석

분류에서Dev

다른 DTO 객체에 객체 노드의 JSON 배열을 구문 분석하는 방법

분류에서Dev

Postgres를 사용하여 문자열 화 된 JSON 객체 구문 분석

분류에서Dev

Spray JSON을 사용하여 Spark DataFrame을 JSON 개체 / 배열로 구문 분석하는 일반적인 방법

분류에서Dev

Jackson을 사용하여 JSON 문자열을 원시 Java 유형으로 구문 분석합니까?

분류에서Dev

htmlparser2를 사용하여 html 문자열을 json으로 구문 분석

분류에서Dev

Jackson이 Json 객체를 기본 문자열로 구문 분석하도록합니다.

분류에서Dev

stdClass 객체로 PHP 배열을 구문 분석하는 방법

Related 관련 기사

  1. 1

    Retrofit을 사용하여 객체 배열로 JSON 배열 구문 분석

  2. 2

    JSON 문자열을 NSDictionary로 구문 분석하여 객체 배열로 Objective C

  3. 3

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

  4. 4

    Retrofit을 사용하여 다른 속성을 가진 객체를 포함하는 JSON 배열 구문 분석

  5. 5

    Jackson을 사용하여 JSON 객체 키를 정수로 어떻게 구문 분석합니까?

  6. 6

    Android : 객체 배열의 JSON 배열을 구문 분석하는 방법

  7. 7

    Jackson을 사용하여 식별자없이 JSON 개체 구문 분석

  8. 8

    파이썬에서 객체를 사용하여 JSON 배열 구문 분석

  9. 9

    Gson을 사용하여 목록 객체 JSON 구문 분석

  10. 10

    JSON을 사용하지 않고 문자열 객체 구문 분석

  11. 11

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

  12. 12

    Jackson 또는 Gson을 사용하여 JSON 구문 분석

  13. 13

    swifty json 구문 분석 배열 객체

  14. 14

    Json 배열 및 객체 구문 분석

  15. 15

    JSON 객체 배열을 구문 분석하고 여기에서 배열을 만드는 방법

  16. 16

    PowerShell을 사용하여 JSON 배열 구문 분석

  17. 17

    Gson을 사용하여 중첩 배열로 JSON 구문 분석

  18. 18

    VBA 및 JSON을 사용하여 중첩 배열 구문 분석

  19. 19

    JavaScript의 json2csv 모듈에서 사용할 배열을 포함하는 JS 객체를 구문 분석하는 방법은 무엇입니까?

  20. 20

    Angular2를 사용하여 응답 json을 객체로 구문 분석하지 못함

  21. 21

    Blob을 사용하여 배열 개체 구문 분석

  22. 22

    Blob을 사용하여 배열 개체 구문 분석

  23. 23

    다른 DTO 객체에 객체 노드의 JSON 배열을 구문 분석하는 방법

  24. 24

    Postgres를 사용하여 문자열 화 된 JSON 객체 구문 분석

  25. 25

    Spray JSON을 사용하여 Spark DataFrame을 JSON 개체 / 배열로 구문 분석하는 일반적인 방법

  26. 26

    Jackson을 사용하여 JSON 문자열을 원시 Java 유형으로 구문 분석합니까?

  27. 27

    htmlparser2를 사용하여 html 문자열을 json으로 구문 분석

  28. 28

    Jackson이 Json 객체를 기본 문자열로 구문 분석하도록합니다.

  29. 29

    stdClass 객체로 PHP 배열을 구문 분석하는 방법

뜨겁다태그

보관