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

디 펀

이것은 일련의 역 직렬화 질문 중 하나이지만 모두 읽었으며 내 문제에 대한 해결책을 찾을 수 없습니다.

모든 "entery"-> "content"-> $ t 및 "entery"-> "title"-> "$ t"를 가져와야하지만 CategoryDeserializer ()에서는 NULL 인 JsonArray를 얻습니다. "<===="로 코드의 해당 부분을 가리 켰습니다.

에러 메시지:

널 오브젝트 참조에서 인터페이스 메소드 'java.util.Iterator java.util.List.iterator ()'호출 시도

다음과 같은 JSON이 있습니다.

{  "feed":{  
      "id":{ ... },
      "author":[ ... ],
      "entry":[  
         {  
            "id":{  },
            "updated":{  },
            "category":[  ],
            "title":{ 
                "type":"text",
                "$t":"A1 },
            "content":{  
               "type":"text",
               "$t":"test"
            },
            "link":[  ]
         },
         { ... },
         { ... },
         {  ...},
      ]
   }
}

이것은 "entery"를 역 직렬화하려는 내 코드의 일부입니다.

String json = response.body().toString();

Type listType = new TypeToken<List<Entry>>() {
                            }.getType();

Gson gson = new GsonBuilder().registerTypeAdapter(listType, new CategoryDeserializer()).create();

List<Entry> list = gson.fromJson(json, listType);

for (Entry entry : list) {
    Log.i("MainActivity", "Content: " + entry.getContent());}

CategoryDeserializer ()는 다음과 같습니다.

public class CategoryDeserializer implements JsonDeserializer<List<Entry>> {
public List<Entry> deserialize(JsonElement je, Type type, JsonDeserializationContext jdc) throws JsonParseException {

      JsonArray entry = je.getAsJsonObject().getAsJsonArray("entry");  //<==== here I get that entry is null but je has a value
      ArrayList<Entry> myList = new ArrayList<Entry>();

      for (JsonElement e : entry) {
           myList.add((Entry) jdc.deserialize(e, Entry.class));
      }

    return myList;}

그리고 내 엔트리 클래스 :

public class Entry {

    private Id_ id;

    private Updated_ updated;

    private List<Category_> category = null;

    private Title_ title;

    private Content content;

    private List<Link_> link = null;

    //getters and setters

    public Id_ getId() {
        return id;
    }

    public void setId(Id_ id) {
        this.id = id;
    }

    public Updated_ getUpdated() {
        return updated;
    }

    public void setUpdated(Updated_ updated) {
        this.updated = updated;
    }

    public List<Category_> getCategory() {
        return category;
    }

    public void setCategory(List<Category_> category) {
        this.category = category;
    }

    public Title_ getTitle() {
        return title;
    }

    public void setTitle(Title_ title) {
        this.title = title;
    }

    public Content getContent() {
        return content;
    }

    public void setContent(Content content) {
        this.content = content;
    }

    public List<Link_> getLink() {
        return link;
    }

    public void setLink(List<Link_> link) {
        this.link = link;
    }

}

편집 : 선언 및 인스턴스화가 있습니다.

디 펀

복잡하지 않은 것들을 복잡하게 만들고있었습니다. 내가해야 할 일은 다음과 같습니다.

String json = response.body().toString();
Gson mGson = new Gson();

//where Example is the root of JSON
Example rsp = mGson.fromJson(json, Example.class);

//Entry is the list I needed to access
List <Entry> listOfEntrys= rsp.getFeed().getEntry();

//get value
Log.i("MainActivity", "listaEntrya " + listOfEntrys.get(0).getTitle().get$t());

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

System.Text.Json을 사용하여 배열 json 개체의 중첩 된 배열을 역 직렬화

분류에서Dev

자바 객체에 datetime을 사용하여 JSON 역 직렬화

분류에서Dev

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

분류에서Dev

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

분류에서Dev

JSON 문자열을 객체로 역 직렬화하는 방법

분류에서Dev

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

분류에서Dev

serde를 사용하여 JSON 배열을 구조체로 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

다양한 유형의 객체를 포함하는 JSON 배열 역 직렬화

분류에서Dev

kotlinx.serialization을 사용하여 json 객체 속성을 문자열로 역 직렬화

분류에서Dev

JSON을 사용하여 2D 배열을 역 직렬화하는 방법

분류에서Dev

json 배열을 역 직렬화하고 안심을 사용하여 값 추출

분류에서Dev

Jackson을 사용하여 JSON 배열을 매핑으로 역 직렬화

분류에서Dev

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

분류에서Dev

배열의 JSON 배열 역 직렬화

분류에서Dev

목록 속성을 사용하여 JSON을 객체로 역 직렬화

분류에서Dev

배열 또는 중첩 배열을 포함 할 수있는 JSon의 객체로 Json.net 역 직렬화

분류에서Dev

Jackson을 사용하여 임의의 JSON 역 직렬화

분류에서Dev

JSON을 변경하지 않고 JSON 배열의 NewtonSoft Inheretance 역 직렬화

분류에서Dev

spray-json을 사용한 Scala 케이스 객체의 JSON 역 직렬화

분류에서Dev

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

분류에서Dev

GSON을 사용하여 평면화 된 JSON 키를 적절한 개체로 역 직렬화

분류에서Dev

현재 JSON 개체를 역 직렬화 할 수 없습니다. 그룹 열을 사용하여 현재 JSON 개체를 역 직렬화 할 수 없습니다.

분류에서Dev

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

분류에서Dev

JSON 객체 배열을 적절하게 역 직렬화하고 반복하는 방법

분류에서Dev

json newtonsoft : 문자열 목록을 포함하는 객체 역 직렬화

분류에서Dev

JSON 배열을 C # 개체로 역 직렬화 (TFL API)

분류에서Dev

Gson을 사용하여 로컬 json 파일을 역 직렬화하는 Kotlin

분류에서Dev

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

Related 관련 기사

  1. 1

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

  2. 2

    System.Text.Json을 사용하여 배열 json 개체의 중첩 된 배열을 역 직렬화

  3. 3

    자바 객체에 datetime을 사용하여 JSON 역 직렬화

  4. 4

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

  5. 5

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

  6. 6

    JSON 문자열을 객체로 역 직렬화하는 방법

  7. 7

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

  8. 8

    serde를 사용하여 JSON 배열을 구조체로 역 직렬화하는 방법은 무엇입니까?

  9. 9

    다양한 유형의 객체를 포함하는 JSON 배열 역 직렬화

  10. 10

    kotlinx.serialization을 사용하여 json 객체 속성을 문자열로 역 직렬화

  11. 11

    JSON을 사용하여 2D 배열을 역 직렬화하는 방법

  12. 12

    json 배열을 역 직렬화하고 안심을 사용하여 값 추출

  13. 13

    Jackson을 사용하여 JSON 배열을 매핑으로 역 직렬화

  14. 14

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

  15. 15

    배열의 JSON 배열 역 직렬화

  16. 16

    목록 속성을 사용하여 JSON을 객체로 역 직렬화

  17. 17

    배열 또는 중첩 배열을 포함 할 수있는 JSon의 객체로 Json.net 역 직렬화

  18. 18

    Jackson을 사용하여 임의의 JSON 역 직렬화

  19. 19

    JSON을 변경하지 않고 JSON 배열의 NewtonSoft Inheretance 역 직렬화

  20. 20

    spray-json을 사용한 Scala 케이스 객체의 JSON 역 직렬화

  21. 21

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

  22. 22

    GSON을 사용하여 평면화 된 JSON 키를 적절한 개체로 역 직렬화

  23. 23

    현재 JSON 개체를 역 직렬화 할 수 없습니다. 그룹 열을 사용하여 현재 JSON 개체를 역 직렬화 할 수 없습니다.

  24. 24

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

  25. 25

    JSON 객체 배열을 적절하게 역 직렬화하고 반복하는 방법

  26. 26

    json newtonsoft : 문자열 목록을 포함하는 객체 역 직렬화

  27. 27

    JSON 배열을 C # 개체로 역 직렬화 (TFL API)

  28. 28

    Gson을 사용하여 로컬 json 파일을 역 직렬화하는 Kotlin

  29. 29

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

뜨겁다태그

보관