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

보리스 스트 란 제프

다음 json을 만들어야합니다.

[ { "contentType": "folder" },
  { "contentType": "image" },
  { "contentType": "video" }
]

이러한 배열에서 구문 분석 :

FileStructureElement [] elements[];

갖는 :

public class FileStructureElement {
    private ElementType contentType;
}

public enum ElementType {
    FOLDER, IMAGE, VIDEO, DEFAULT;
}

이것은 간단한 예이며, FileStructureElement클래스에는 질문 필드와 관련이없는 더 많은 속성이 있습니다.

contentType속성 값을의 값으로로드하고 싶습니다 ElementType. json에서 가능한 값 중 하나가 유효한 enum 값이 아닌 "default"이기 때문에 enum의 값을 json의 유형과 일치시킬 여유가 없습니다. 또한 소문자 이름을 가진 열거 형 값을 갖고 싶지 않습니다. 이것은 기본적으로 GSON 구문 분석을 사용자 정의해야 함을 의미합니다. 누군가 나를 도울 수 있습니까?

여기 에서 나온 아이디어 (내가 구문 분석 한 속성의 값을 확인하고 열거 형 값을로드할지 여부를 선택)는 내가 말하는 웹 서비스 인터페이스를 제어 할 수없고 값이 너무 분명하고 다른 json 속성의 값으로도 존재할 위험이 있습니다.

폼폼

열거 형에 대한 사용자 정의 구문 분석을 원하는 경우 어댑터를 등록해야합니다.

JsonDeserializer<?> jd = new JsonDeserializer<ElementType>() {
  @Override
  public ElementType deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
    String enumStr = json.getAsString();
    ElementType val = 
    //...

    return val;
  }
};

Gson gson = new GsonBuilder().registerTypeAdapter(ElementType.class, jd).create();

제공된 문자열에 대해 올바른 열거 형 값을 반환하십시오.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

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

분류에서Dev

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

분류에서Dev

Gson을 사용하여 여러 유형의 목록 목록 역 직렬화

분류에서Dev

형식 패턴을 사용하여 문자열을 값으로 역 직렬화

분류에서Dev

Gson을 사용하여 JSON 역 직렬화-BEGIN_OBJECT가 필요하지만 문자열이었습니다.-Reddit의 JSON

분류에서Dev

Newtonsoft.Json을 사용한 열거 형 역 직렬화

분류에서Dev

Java의 사용자 지정 열거 형 값에 대한 JSON 응답 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

중복을 제거하지 않습니다 잭슨과 스프링을 사용하여 Java LinkedHashSet의에 자바 스크립트 배열의 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

분류에서Dev

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

분류에서Dev

Gson을 사용하여 다른 개체 내부의 개체 배열 역 직렬화

분류에서Dev

대상 유형의 문자열 표현을 사용한 역 직렬화

분류에서Dev

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

분류에서Dev

Android GSON 사용자 지정 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

공백을 포함하는 열거 형을 사용하여 Json을 NJsonSchema 생성 객체로 역 직렬화

분류에서Dev

YamlDotNEt 및 C #의 사용자 지정 형식 클래스를 사용하여 중첩 된 YAML 역 직렬화

분류에서Dev

사용자 정의 형식의 날짜를 역 직렬화

분류에서Dev

Jackson의 사용자 지정 JSON 역 직렬화, invalide 배열 제외

분류에서Dev

serde_json을 사용하여 내부 열거 형 값을 & str에서 u64로 역 직렬화

분류에서Dev

GSON을 사용하여 JSON 문자열을 역 직렬화하려고 할 때 오류 발생

분류에서Dev

Jackson을 사용하여 혼합 유형의 익명 배열을 역 직렬화하는 방법

분류에서Dev

Django 사용자 지정 역 직렬화

Related 관련 기사

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    Gson을 사용하여 여러 유형의 목록 목록 역 직렬화

  5. 5

    형식 패턴을 사용하여 문자열을 값으로 역 직렬화

  6. 6

    Gson을 사용하여 JSON 역 직렬화-BEGIN_OBJECT가 필요하지만 문자열이었습니다.-Reddit의 JSON

  7. 7

    Newtonsoft.Json을 사용한 열거 형 역 직렬화

  8. 8

    Java의 사용자 지정 열거 형 값에 대한 JSON 응답 역 직렬화

  9. 9

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

  10. 10

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

  11. 11

    중복을 제거하지 않습니다 잭슨과 스프링을 사용하여 Java LinkedHashSet의에 자바 스크립트 배열의 역 직렬화

  12. 12

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

  13. 13

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

  14. 14

    Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

  15. 15

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

  16. 16

    Gson을 사용하여 다른 개체 내부의 개체 배열 역 직렬화

  17. 17

    대상 유형의 문자열 표현을 사용한 역 직렬화

  18. 18

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

  19. 19

    Android GSON 사용자 지정 역 직렬화

  20. 20

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

  21. 21

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

  22. 22

    공백을 포함하는 열거 형을 사용하여 Json을 NJsonSchema 생성 객체로 역 직렬화

  23. 23

    YamlDotNEt 및 C #의 사용자 지정 형식 클래스를 사용하여 중첩 된 YAML 역 직렬화

  24. 24

    사용자 정의 형식의 날짜를 역 직렬화

  25. 25

    Jackson의 사용자 지정 JSON 역 직렬화, invalide 배열 제외

  26. 26

    serde_json을 사용하여 내부 열거 형 값을 & str에서 u64로 역 직렬화

  27. 27

    GSON을 사용하여 JSON 문자열을 역 직렬화하려고 할 때 오류 발생

  28. 28

    Jackson을 사용하여 혼합 유형의 익명 배열을 역 직렬화하는 방법

  29. 29

    Django 사용자 지정 역 직렬화

뜨겁다태그

보관