반응형
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 파일이 저장되는 것을 확인할 수 있을 것이다.
반응형
'나의 공부' 카테고리의 다른 글
프로세스, 스레드, 멀티 스레드? (0) | 2023.04.06 |
---|---|
정규화는 뭘까? 정규화의 예시 (0) | 2023.03.30 |
디자인패턴-싱글톤패턴(SingleTon) (0) | 2023.03.23 |
디자인패턴-빌더 패턴(Builder) (0) | 2023.03.23 |
TDD(테스트 주도 개발) 소개, TDD의 중요성 (0) | 2023.02.27 |
댓글