본문 바로가기
나의 공부

JSON 파일 쓰기/저장 (json-simple)

by 이숴 2023. 3. 2.
반응형

Spring의 편안함..

spring이 알아서 저장해주고 수정해줘서 JSON 파일을 실제로 다뤄본적은 거의 없었다.

후일에 실무에서 직접 JSON 파일에 접근할 수도 있을거같아서 JSON파일을 어떻게 생성하고 다루는지 공부해보았다.

 

json-simple

구글에서 json을 쉽게 다루도록 제공한 라이브러리가 있다. 필자는 오늘 이 라이브러리를 사용해서 json 파일을 씹고 뜯고 맛볼 생각이다.

json-simple 라이브러리를 사용하기 위해 우선 gradle로 기능을 다운받아야한다.

implementation 'com.googlecode.json-simple:json-simple:1.1.1'

build.gradle에 상단의 코드를 디펜던시에 추가하자.

 

그리고 사용할 파일에

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

와 같이 추가 하면된다. 코드의 한줄씩 알아보자.

 

JSONObject

JSONObject는 실제 java의 객체를 Json 형식으로 변경할 수 있도록 도와주는 메소드이다. 예시를 보자면

SayingEntity famousSaying;
JSONObject jo = new JSONObject();

jo.put("id", famousSaying.getId());
jo.put("saying", famousSaying.getSaying());
jo.put("author", famousSaying.getAuthor());

put으로 json 항목을 하나씩 넣을 수 있는데, key-value 타입에 맞춰서 넣으면 변환이 가능하다.

 

JSONArray

JSONArray는 객체를 배열로 저장하고 싶을때 사용하면 된다. 

JSONArray objects = new JSONArray();

for (SayingEntity famousSaying : fsRepository.getFamousSayings()) {
    JSONObject jo = new JSONObject();
    jo.put("id", famousSaying.getId());
    jo.put("saying", famousSaying.getSaying());
    jo.put("author", famousSaying.getAuthor());
    objects.add(jo);
}

필자는 이렇게 객체 배열을 하나씩 탐색해서 JSON 형식으로 변환하고 JSONArray 객체에 추가하였다. 

 

FileWriter

이후에 이 JSON 객체를 저장하고 싶다면, java에서 제공하는 fileWriter를 사용해서 저장하면 쉽게 저장이 가능하다.

FileWriter fileWriter = new FileWriter("주소/저장할 json이름.json");
fileWriter.write(objects.toJSONString());
fileWriter.flush();
fileWriter.close();

 

이렇게 진행하게 되면 본인이 설정한 주소에 잘 json 파일이 저장되는 것을 확인할 수 있을 것이다.

반응형

댓글