2013-07-31 5 views
0

Google Gson을 사용하여 간단한 Json을 Java 객체로 변환 할 수 있습니다. 문제는이 특정 유형의 응답을 Java 객체로 변환 할 수 없다는 것입니다. 나는 이것이 실제로 자바 클래스를 모델링하는 방법을 잘 모르고 있기 때문에 이것이라고 생각한다. 다음은 Json입니다.특정 JSON을 Java 객체로 변환

{ 
"List": { 
    "Items": [ 
     { 
      "comment": "comment", 
      "create": "random", 
      "ID": 21341234, 
      "URL": "www.asdf.com" 
     }, 
     { 
      "comment": "casdf2", 
      "create": "rafsdfom2", 
      "ID": 1234, 
      "Url": "www.asdfd.com" 
     } 
    ] 
}, 
"related": { 
    "Book": "ISBN", 
    "ID": "id" 
}} 
+0

이 Json 표현에 대한 Java 클래스를 공유 할 수 있습니까? 그리고이 json 복잡하지 않습니다 btw –

+0

그게 문제입니다. 문제는 클래스를 모델링하는 법을 배울 수 없다는 것입니다. 나는 생각한다. – Joe

+0

조가 맞습니다. – gvar

답변

0

Gson과 특별히 작업하지는 않았지만 Jersey 및 JAXB의 JSON/Java 변환에 대한 작업을 수행했습니다. JSON 텍스트를 변환하는 가장 쉬운 방법은 모든 {..}을 클래스에 매핑하고 [..]를 목록에 매핑하는 것입니다. 또한

Class Data { 
    HistoryListClass HistoryList; 
    Relation related; 
} 

Class HistoryListClass { 
    List<History> history; 
} 

Class History { 
    String comment; 
    String create; 
    int ID; 
    String ttURL; 
} 

Class Relation { 
    String book; 
    String ID; 
} 

참조 : 예를 들어

json으로 코드의 "HistoryList"요소는 아마도 "historyList"작성해야 Converting JSON to Java

은, 그냥 주어진 코드를보고, 나는 제안 당신은 그것을 변경하여 "History"객체의 목록을 직접 contatain합니다.

+0

잘 작동하지만 @ Icermann의 필드 이름은 질문의 구조와 동일하지 않습니다. –

+0

그런 다음 "Data data = new Gson() .Json (inputJsonString, Data.class)"이라고 말하면 –

+0

이 질문의 구조와 일치하지 않습니다. – gvar

관련 문제