Gson을 사용하여 키없이 중첩 된 JSON 객체 구문 분석

user2611073

이 콘텐츠가 포함 된 JSON이 있습니다.

[ {
    "lines" : {
        "0" : "Hammersmith & City",
        "1" : "Circle"
    },
    "id" : "233",
    "name" : "Shepherd's Bush Market"
}, {
    "lines" :"",
    "id" : "233",
    "name" : "Shepherd's Bush Market"
}, {
    "lines" : {
        "0" : "Hammersmith & City",
        "1" : "Circle"
    },
    "id" : "233",
    "name" : "Shepherd's Bush Market"
},
, {
    "lines" : "",
    "id" : "233",
    "name" : "Shepherd's Bush Market"
  }]

일반적으로 다음과 같은 개체를 만들 수 있습니다.

public class MyObject {

    public String id;  
    public String name;
    public Line[] lines;

    public class Line {
        public String key;
        public String value;
    }
}

그리고 Gson serializer가 구문 분석을 처리하지만이 경우 lines에는 키 / ID가 없습니다. 내부 클래스 대신 HashMapsMaps사용을 시도했지만 작동하지 않습니다. Gson을 사용하여 이것을 구문 분석 할 수있는 방법이 있습니까?

최신 정보:

lines에서 MyObjecta로 변경 Map<String, String>하고 JSON 응답에 더 많은 줄을 추가했습니다.

현재 이것은 JSON을 구문 분석하는 데 사용하는 코드입니다.

Type listType = new TypeToken<List<MyObject>>(){}.getType();
List<MyObject> data = getGson().fromJson(str, listType);

Caused by: com.google.gson.JsonParseException: The JsonDeserializer MapTypeAdapter    failed to deserialize json object "" given the type java.util.Map<java.lang.String, java.lang.String>

전체 JSON 응답을 살펴본 결과 사용할 수없는 경우 linesString( "") 으로 반환되고 사용 가능한 경우지도로 반환되는 것 같습니다 . 이것이 문제의 일부라고 생각합니다

막심 수 스틴

Map<String, String>대신 사용하십시오 Line[] lines.

(수업 필요 없음 Line)

작동합니다.

또는 키가 정수인 경우 Map<Integer, String>에도 작동합니다.

[편집하다]

json 문자열은 객체 목록을 나타냅니다. {..},{..},{..}

당신은 그것을 [].

따라서 작동하는 json은 다음과 같아야합니다.

[
    {
        "lines": {
            "0": "Hammersmith & City",
            "1": "Circle"
        },
        "id": "233",
        "name": "Shepherd's Bush Market"
    },
    {
        "lines": {
            "0": "Hammersmith & City",
            "1": "Circle"
        },
        "id": "233",
        "name": "Shepherd's Bush Market"
    },
    {
        "lines": {
            "0": "Hammersmith & City",
            "1": "Circle"
        },
        "id": "233",
        "name": "Shepherd's Bush Market"
    }
]

MyObject

public class MyObject {
 public String id;

 public String name;

 public Map<String,String> lines;   
}

주요 방법

    Gson gson = new Gson();
    Type type = new TypeToken<List<MyObject>>(){}.getType();
    List<MyObject > objList = gson.fromJson(str, type);


    assert(objList != null);  // validate not null

    for(MyObject obj : objList){

        System.out.println("id=" + obj.id + "; name=" + obj.name);
    }

산출:

id=233; name=Shepherd's Bush Market
id=233; name=Shepherd's Bush Market
id=233; name=Shepherd's Bush Market

루프에서 추출 할 수도 Map있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

GSON을 사용하여 중첩 된 JSON을 구문 분석하는 방법

분류에서Dev

Json.Net을 사용하여 중첩 된 Json 구문 분석

분류에서Dev

Volley를 사용하여 중첩 된 JSON 개체 구문 분석

분류에서Dev

Android 용 RetroFit을 사용하여 중첩 된 JSON 구문 분석

분류에서Dev

Python을 사용하여 중첩 된 JSON 데이터 구문 분석

분류에서Dev

중첩 된 객체를 포함하는 JSON 구문 분석

분류에서Dev

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

분류에서Dev

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

분류에서Dev

GSON을 사용하여 중첩 된 JSON을 일반 컬렉션으로 구문 분석

분류에서Dev

GSON 중첩 된 JSON 제대로 개체를 구문 분석하지

분류에서Dev

Python 3.6.8을 사용하여 깊이 (다중) 중첩 된 JSON 블록 구문 분석

분류에서Dev

Angular.js를 사용하여 JSON에서 중첩 된 객체 배열 구문 분석

분류에서Dev

GSON으로 여러 중첩 JSON 객체 / 배열을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

GSON을 사용하여 중첩 된 맵을 구문 분석하는 방법

분류에서Dev

당신은 어떻게 처리 JSON 객체를 사용하여 다음과 같은 중첩 된 JSON 파일을 구문 분석합니까?

분류에서Dev

json.net-중첩 된 객체를 구문 분석 할 수 없음

분류에서Dev

Swift에서 Decodable을 사용하여 중첩 된 JSON 구문 분석

분류에서Dev

Spark에 중첩 된 Json 객체를 구문 분석하는 방법

분류에서Dev

중첩 된 Json 객체를 구문 분석하고 Android의 데이터베이스에 저장

분류에서Dev

동일한 필드 이름을 가진 객체를 가진 Gson을 사용하여 json 구문 분석

분류에서Dev

JQuery를 사용하여 중첩 된 JSON 구문 분석

분류에서Dev

jquery 및 Ajax를 사용하여 중첩 된 JSON 구문 분석

분류에서Dev

개조시 중첩 된 객체 모델을 구문 분석하는 방법

분류에서Dev

JSON (중첩 된 키 값)을 CSV로 구문 분석

분류에서Dev

잭슨과 깊이 중첩 된 JSON 속성을 구문 분석

분류에서Dev

중첩 된 JSON을 SQL 테이블로 구문 분석

분류에서Dev

XMLin을 사용하여 중첩 된 XML 구문 분석

분류에서Dev

중첩 된 JSON을 구문 분석하는 방법

분류에서Dev

중첩 된 JSON을 구문 분석하는 방법-Flutter?

Related 관련 기사

  1. 1

    GSON을 사용하여 중첩 된 JSON을 구문 분석하는 방법

  2. 2

    Json.Net을 사용하여 중첩 된 Json 구문 분석

  3. 3

    Volley를 사용하여 중첩 된 JSON 개체 구문 분석

  4. 4

    Android 용 RetroFit을 사용하여 중첩 된 JSON 구문 분석

  5. 5

    Python을 사용하여 중첩 된 JSON 데이터 구문 분석

  6. 6

    중첩 된 객체를 포함하는 JSON 구문 분석

  7. 7

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

  8. 8

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

  9. 9

    GSON을 사용하여 중첩 된 JSON을 일반 컬렉션으로 구문 분석

  10. 10

    GSON 중첩 된 JSON 제대로 개체를 구문 분석하지

  11. 11

    Python 3.6.8을 사용하여 깊이 (다중) 중첩 된 JSON 블록 구문 분석

  12. 12

    Angular.js를 사용하여 JSON에서 중첩 된 객체 배열 구문 분석

  13. 13

    GSON으로 여러 중첩 JSON 객체 / 배열을 구문 분석하는 방법은 무엇입니까?

  14. 14

    GSON을 사용하여 중첩 된 맵을 구문 분석하는 방법

  15. 15

    당신은 어떻게 처리 JSON 객체를 사용하여 다음과 같은 중첩 된 JSON 파일을 구문 분석합니까?

  16. 16

    json.net-중첩 된 객체를 구문 분석 할 수 없음

  17. 17

    Swift에서 Decodable을 사용하여 중첩 된 JSON 구문 분석

  18. 18

    Spark에 중첩 된 Json 객체를 구문 분석하는 방법

  19. 19

    중첩 된 Json 객체를 구문 분석하고 Android의 데이터베이스에 저장

  20. 20

    동일한 필드 이름을 가진 객체를 가진 Gson을 사용하여 json 구문 분석

  21. 21

    JQuery를 사용하여 중첩 된 JSON 구문 분석

  22. 22

    jquery 및 Ajax를 사용하여 중첩 된 JSON 구문 분석

  23. 23

    개조시 중첩 된 객체 모델을 구문 분석하는 방법

  24. 24

    JSON (중첩 된 키 값)을 CSV로 구문 분석

  25. 25

    잭슨과 깊이 중첩 된 JSON 속성을 구문 분석

  26. 26

    중첩 된 JSON을 SQL 테이블로 구문 분석

  27. 27

    XMLin을 사용하여 중첩 된 XML 구문 분석

  28. 28

    중첩 된 JSON을 구문 분석하는 방법

  29. 29

    중첩 된 JSON을 구문 분석하는 방법-Flutter?

뜨겁다태그

보관