2013-06-24 2 views
0

중첩 된 JSON을 인터페이스 인 Java 객체로 변환해야합니다.중첩 된 JSON을 Java 객체로 변환 (impl이있는 인터페이스)

JSON 문자열을 Root 유형의 Java Object로 변환해야하는 아래 예제를 참조하십시오.

JSON : {"ROOT":{"NAME":"EVEN"}}

자바 : 내가 자바 객체에 큰 깊이 중첩 된 JSON 변환해야 아래의 유스 케이스처럼

Interface Root { 
    String getName(); 
} 

class RootImpl implements Root{ 
    private String name; 
    public String getName() { 
     return name; 
    } 
} 

.

+0

당신이 GSON을 확인했다? – fmsf

+1

JSON 라이브러리 사용 ... [Jackson] (https://github.com/FasterXML/jackson-databind). – fge

+0

당신이 JSON 표기법을 객체로 변환하려고하기 때문에 어떤 방식 으로든 JSON API (Gson, jackson 등)를 사용해야 할 필요는 없습니다. – Hariharan

답변

0

당신은 그것을 할 수 있습니다 : -

JSONSerializer.toJava(jsonString); 
0

당신은 org.json. 자바 파서를 사용할 수 있습니다.

public class RootImpl implements Root{ 
    private JSONObject root; 

    public RootImpl(String json) { 
     this.root = new JSONObject(json).getJSONObject("ROOT"); 
    } 

    public String getName(){ 
     return root.getString("NAME"); 
    } 
} 

Root root = new RootImpl("{\"ROOT\":{\"NAME\":\"EVEN\"}}"); 
System.out.println(root.getName()); // prints: EVEN 

참조 :
JSON Java API docs

0

구글 GSON 당신을 도울 수 있습니다!

"GSON는 JSON 표현으로 자바 객체를 변환하는 데 사용할 수있는 자바 라이브러리입니다. 또한 상응하는 자바 객체로 JSON 문자열을 변환 할 수 있습니다. GSON 임의의 자바 객체가 포함 작업 할 수 있습니다 원본 코드가없는 기존 개체 " --Google-GSON 'README'

다운로드 URL :

https://code.google.com/p/google-gson/downloads/list

코드 예제 :

//UserInfo object to json string 
public String toJson(UserInfo userInfo){ 
    //com.google.gson.Gson 
    return new Gson().toJson(userInfo); 
} 

//json string to UserInfo object 
public UserInfo fromJson(String jsonStr){ 
    return new Gson().fromJson(jsonStr, UserInfo.class); 
}