개발/JAVA
Gson을 사용한 JsonArray 형태의 String을 JsonArray로 변환하기
보리ing
2019. 11. 27. 18:26
[{A:a,B:b,C:,c},{A:a,B:b,C:,c},{A:a,B:b,C:,c},{A:a,B:b,C:,c}...] 형태로 저장된 파일을 읽어 다루는 일이 있었다.
jsonArray 데이터를 toString화 하여 저장한 듯한 이 데이터를 다시 jsonArray로 돌려놓기 위해서는
의존 설정
build.gradle dependencies에
compile group: 'org.springframework.boot', name: 'spring-boot-starter-json', version: '2.1.9.RELEASE'
//'org.springframework.boot:spring-boot-starter-web' 에 포함되어 있어 보통 생략 가능
implementation 'com.google.code.gson:gson:2.8.5'
를 추가
JSONArray ja = new JSONArray(stringData);
로 데이터를 생성하면 된다.
만약 위 데이터를 정의한 Data클래스가 있다면
List<Data> dataList = new ArrayList<> ();
try{
JSONArray ja = new JSONArray(stringData);
for (int i = 0; i < ja.length(); i++){
JSONObject order = ja.getJSONObject(i);
Gson gson = new Gson ( );
Data data = gson.fromJson(order.toString (),Data.class);
dataList.add (data);
}
} catch (JSONException e) {
e.printStackTrace ( );
}
와 같이 객체 리스트로 만들수도 있다.