안녕하세요.
json 관련하여 Gson 을 사용하려고 하는데...
기존 구현되어 있는 상태에서 json lib 를 바꿀려고 하는 중인데..
기존 Class 구조를 Gson 을 위해서 모두 바꾸기는 현재로써 불가능 할거 같아서..
우선 일부분만 Gson 을 사용하려고 합니다.
그런데 변경중 한가지 난관에 봉착하게 되었는데...
예를 들어 json data가 header 와 body가 있는상태이고,
header 가 Base Class 이고 body 부분이 Base Class 를 상속받은 Sub Class 인데
class BaseClass {
public String name = "";
public String age = "";
// getter & setter ...
}
class SubClass extent BaseClass {
public String address = "";
}
class SubClass1 extent BaseClass {
public String nation = "";
}
class SubClass2 extent BaseClass {
public String juminNumber = "";
}
..... more
/* jsonData
{
"header" : {
"name" : "gson",
"age" : "10",
},
"body" : {
"address" : "Korea"
}
}
*/
JSONObject jsonObject = null;
jsonObject = new JSONObject (jsonData);
JSONObject header = (JSONObject) jsonObject.opt( "header" );
JSONObject body = (JSONObject) jsonObject.opt( "body" );
SubClass subClass = new SubClass();
Gson gson = new Gson();
subClass = gson.fromJson( header.toString(), subClass.class);
// subClass 의 body에 해당하는 특정 key 값을 사용하지 않고
// 위 subClass object에 body 의 data address 를 어떻게 넣어야 할까요?
gson을 사용하여 하나의 class data 에 두개의 JSONObject 를 추가할 수 있는 방법이 있을까요??
gson의 목적(?!)과는 다르단걸 알지만, gson을 적용하면서 위와 같은 상황에서의 해결 방법 아시면
답글 부탁드립니다.