테스트에 사용한 데이터가 간단한 json형식인 경우 Map형식으로 만들어서 하지만 그 반대인 경우 복잡할 경우 json 파일로 저장 후 불러 오기 위해서 만든 샘플 입니다.

Jackson 라이브러리를 사용했습니다.

// 패키지 경로 접근
// 클래스와 동일 패키지 폴더 위치에서 test.json 읽기
URL path = this.getClass().getResource("test.json");
// URL path = this.getClass().getResource("/com/royleej9/test/test.json");
File jsonFile = new File(path.getFile());
// 전체 경로 접근
// URI path = Paths.get("src", "test", "sample", "testData.json").toUri();
// File jsonFile = new File(path);
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> jsonMap = mapper.readValue(jsonFile, Map.class);
System.out.println("JSON File --> Map");
System.out.println(jsonMap.toString());

// 들여쓰기
String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonMap);
// String jsonStr = mapper.writeValueAsString(jsonMap);
System.out.println("Map --> JSON");
System.out.println(jsonStr);

// json file 저장
File jsonFilePath = Paths.get("src", "test", "sample", "jsonFile.json").toFile();
System.out.println("Json string --> JSON File");
System.out.println(jsonFilePath.getAbsolutePath());
FileWriter jsonFileWriter = new FileWriter(jsonFilePath);
jsonFileWriter.write(jsonStr);
jsonFileWriter.flush();
jsonFileWriter.close();

'java' 카테고리의 다른 글

[Mockito] doReturn / thenReturn  (0) 2021.08.04
[Lombok] @Builder  (0) 2020.10.15
[JPA] 영속성 컨텍스트(persistence context)  (0) 2020.08.31
[JPA] EntityManagerFactory/EntityManager  (0) 2020.08.30
[JPA] jpa 설정 - persistence.xml  (0) 2020.08.29

+ Recent posts