Gson 사용하니 편한건 알겠습니다. 근데 아직 사용법이라고 해야하나 궁금한게 있는데 조언 부탁드립니다.
파싱하는 클래스
Gson gson = new Gson();
JsonParser parser = new JsonParser();
TestValue = gson.fromJson(json, TestValue .class);
Log.i(TAG, "TestValue .getName() : "+TestValue .getName());
TestValue.class
private String name;
외 age, address, idx 있음
다 set, get 메소드 있음
다른 클래스에서 name 값을 가져다 쓰고 싶을땐
테스트벨류 클래스의 getName() 함수를 통해 쓰면 된다는건 잘알겠습니다.
원래 DTO(?)클래스 자체는 써봐서 압니다.
이때 데이터가 배열에 경우면 파싱하는 클래스에서는... 이런식으로 잘 사용하고 있습니다.
JsonElement testObejct = parser.parse(json).getAsJsonObject().get("student");
TestValue[] tv = gson.fromJson(testObejct , TestValue[].class);
List<TestValue> list = Arrays.asList(tv);
int size = list .size();
for(int i=0; i<size ; i++){
Log.i(TAG, "idx: "+TestValue.get(i).getIdx());
Log.i(TAG, "name: "+TestValue.get(i).getName());
Log.i(TAG, "age: "+TestValue.get(i).getAge());
Log.i(TAG, "address : "+TestValue.get(i).getAddress());
}
로 쉽게 접근이 되더라고요..
근데 다른 클래스에서 쓰려면 어찌합니까???
예를 들어... testValue.getName(); 하면 몇번재 학생의 이름인지 어떻게 압니까??
그리고 testValue 클래스는 파싱하는곳에 new해서 선언하니깐 그 클래스에 변수 참조하기위해
스태틱으로 해줘야하나요?? 파싱한 곳에서 Gson 이나 파서 객체 다 생성해두니
다른곳에서는 어떻게 접근해야할지 모르겠고요 배열에 경우 데이터 관리를 어케해야할지 잘모르겠습니다.
아니면 DTO 클래스를 변경해줘야하는지
개념을 잘 모르겠습니다....