Android GSON 사용자 지정 역 직렬화

슬라 비보이

Kotlin과 함께 GSON을 사용하여 사용자 지정 역 직렬화를 만들려고합니다. 다음은 샘플 코드이지만 test 변수 는 항상 null입니다. 왜 그런지 아세요?

    // simple class with x property
    class TestClass(var x: Int = 1)

    // simple deserializer that always returns object with value x = 4444
    class TestClassDeserializer : JsonDeserializer<TestClass> {
        override fun deserialize(json: JsonElement?, typeOfT: Type?, context: JsonDeserializationContext?): TestClass {
            return TestClass(4444)
        }
    }

    // simple gson object with register adapter
    val gson = GsonBuilder()
        .registerTypeAdapter(::TestClass.javaClass, TestClassDeserializer())
        .create()

    // init object using json string
    val json = """ {"x": 9} """.trimIndent()
    val test = gson.fromJson(json, ::TestClass.javaClass)

test 가 항상 null이고 예상 객체 TestClass (4444)가 아닌 이유를 알 수 있습니다. 최신 gson 버전 2.8.6을 사용하고 있습니다.

ZSergei

문제는 ::TestClass.javaClass이 표현식의 라인 유형에 KFunction1<Int, TestClass>있습니다. TestClass 생성자 메서드 참조이기 때문입니다. 올바른 구문은TestClass::class.java

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

개조 : GSON 사용자 지정 자식 목록 역 직렬화

분류에서Dev

개조 : GSON 사용자 지정 자식 목록 역 직렬화

분류에서Dev

GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

분류에서Dev

기본 배열에 대한 사용자 지정 Gson 역 직렬화

분류에서Dev

Django 사용자 지정 역 직렬화

분류에서Dev

System.Text.Json 사용자 지정 직렬화 / 역 직렬화

분류에서Dev

GSON 역 직렬화

분류에서Dev

Jackson의 다형성 직렬화 / 역 직렬화 및 사용자 지정 직렬화 / 역 직렬화

분류에서Dev

자바의 GSON 역 직렬화

분류에서Dev

GSON을 사용한 사용자 지정 클래스 직렬화

분류에서Dev

작동하지 않는 Gson을 사용하여 json 역 직렬화

분류에서Dev

Gson을 사용하여 JSON을 HashMAp <String, POJO>로 역 직렬화하지 못함

분류에서Dev

Jackson을 사용한 사용자 지정 JSON 직렬화 / 역 직렬화

분류에서Dev

잭슨 사용자 정의 직렬화 및 역 직렬화

분류에서Dev

GSON은 문자열을 두 개의 정수로 역 직렬화합니다.

분류에서Dev

부분 GSON 역 직렬화

분류에서Dev

Gson을 사용하여 매핑 할 json 배열 역 직렬화

분류에서Dev

Gson을 사용하여 Json에서 Map 역 직렬화

분류에서Dev

GSON을 사용하여 객체의 JSON 배열 역 직렬화

분류에서Dev

추가 변수를 사용한 gson 배열 역 직렬화

분류에서Dev

Android : GSON 역 직렬화가 완료된 후 속성 계산

분류에서Dev

주석 GSON 사용자 정의 직렬화

분류에서Dev

사용자 정의 모양의 Konva 직렬화 및 역 직렬화

분류에서Dev

GSON은 Android에서 두 가지 유형의 객체로 목록을 역 직렬화합니다.

분류에서Dev

JsonConverter를 사용한 C #의 사용자 지정 JSON 역 직렬화

분류에서Dev

System.Text.Json을 사용한 사용자 지정 역 직렬화

분류에서Dev

사용자 지정 XmlSerialization을 사용하여 복잡한 개체 역 직렬화

분류에서Dev

GSON 문자열 또는 문자열 배열을 역 직렬화

분류에서Dev

Gson이 JSON 데이터를 역 직렬화하지 않음

Related 관련 기사

  1. 1

    개조 : GSON 사용자 지정 자식 목록 역 직렬화

  2. 2

    개조 : GSON 사용자 지정 자식 목록 역 직렬화

  3. 3

    GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

  4. 4

    기본 배열에 대한 사용자 지정 Gson 역 직렬화

  5. 5

    Django 사용자 지정 역 직렬화

  6. 6

    System.Text.Json 사용자 지정 직렬화 / 역 직렬화

  7. 7

    GSON 역 직렬화

  8. 8

    Jackson의 다형성 직렬화 / 역 직렬화 및 사용자 지정 직렬화 / 역 직렬화

  9. 9

    자바의 GSON 역 직렬화

  10. 10

    GSON을 사용한 사용자 지정 클래스 직렬화

  11. 11

    작동하지 않는 Gson을 사용하여 json 역 직렬화

  12. 12

    Gson을 사용하여 JSON을 HashMAp <String, POJO>로 역 직렬화하지 못함

  13. 13

    Jackson을 사용한 사용자 지정 JSON 직렬화 / 역 직렬화

  14. 14

    잭슨 사용자 정의 직렬화 및 역 직렬화

  15. 15

    GSON은 문자열을 두 개의 정수로 역 직렬화합니다.

  16. 16

    부분 GSON 역 직렬화

  17. 17

    Gson을 사용하여 매핑 할 json 배열 역 직렬화

  18. 18

    Gson을 사용하여 Json에서 Map 역 직렬화

  19. 19

    GSON을 사용하여 객체의 JSON 배열 역 직렬화

  20. 20

    추가 변수를 사용한 gson 배열 역 직렬화

  21. 21

    Android : GSON 역 직렬화가 완료된 후 속성 계산

  22. 22

    주석 GSON 사용자 정의 직렬화

  23. 23

    사용자 정의 모양의 Konva 직렬화 및 역 직렬화

  24. 24

    GSON은 Android에서 두 가지 유형의 객체로 목록을 역 직렬화합니다.

  25. 25

    JsonConverter를 사용한 C #의 사용자 지정 JSON 역 직렬화

  26. 26

    System.Text.Json을 사용한 사용자 지정 역 직렬화

  27. 27

    사용자 지정 XmlSerialization을 사용하여 복잡한 개체 역 직렬화

  28. 28

    GSON 문자열 또는 문자열 배열을 역 직렬화

  29. 29

    Gson이 JSON 데이터를 역 직렬화하지 않음

뜨겁다태그

보관