2023. 03. 02 (2 week)

김준태·2023년 3월 2일
0

멋쟁이사자처럼

목록 보기
8/16
post-thumbnail

Json.simple

  • JSON 데이터를 파일에 쓰기 위해서는 먼저 JSON 객체를 String으로 변환해야 한다.
  • build.gradle 에 추가 후 사용가능
implementation 'com.googlecode.json-simple:json-simple:1.1.1'

JSONObject

  • JSON 객체를 나타내며, 키-값 쌍으로 구성됩니다.
  • 문자열로 변환하려면 toString() 메소드를 사용
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "John");
jsonObject.put("age", 30);
jsonObject.put("isMarried", true);

String jsonString = jsonObject.toString();

JSONArray

  • JSON 배열을 나타내며 JSONObject의 배열
  • 문자열로 변환하려면 toString() 메소드를 사용
JSONArray jsonArray = new JSONArray();
jsonArray.put("hello");
jsonArray.put(123);
jsonArray.put(true);

String jsonString = jsonArray.toString();

JSONParser

  • 자바에서 JSON 문자열을 파싱하기 위해서는 JSON 데이터를 구문 분석하여 자바 객체로 변환해주는 JSONParser 클래스를 사용할 수 있습니다
1. JSONParser 객체를 생성합니다.
2. parse() 메서드를 사용하여 JSON 문자열을 파싱합니다.
3. 파싱된 결과는 Object 타입으로 반환되므로, 필요한 타입으로 캐스팅하여 사용합니다.
public class JSONParserExample {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

        JSONParser parser = new JSONParser();

        try {
            JSONObject jsonObj = (JSONObject) parser.parse(jsonStr);

            String name = (String) jsonObj.get("name");
            Long age = (Long) jsonObj.get("age");
            String city = (String) jsonObj.get("city");

            System.out.println("Name: " + name);
            System.out.println("Age: " + age);
            System.out.println("City: " + city);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

FileWriter

  • 문자 데이터를 파일에 쓰는 데 사용되며, 문자열, 문자 배열, 문자열 버퍼 등의 데이터를 파일에 쓸 수 있다.
  • 예외 처리도 필요합니다. FileWriter 클래스의 write() 메서드는 IOException을 발생시킬 수 있으므로 try-catch 블록을 사용하여 예외 처리를 해주어야 합니다.

PrintWriter

  • 자바 PrintWriter 클래스는 파일에 문자 데이터를 쓰기 위한 기능을 제공합니다.
write(String str) 메서드;
- 문자열 데이터를 파일에 씁니다.
JSONArray jsonArray = new JSONArray();
        for (int i = 0; i < FamousSayingController.famousSayingLists.size(); i++) {
            JSONObject jsonObject = new JSONObject();
            // id의 key에 famousSayingLists의 id값 추가
            jsonObject.put("id", FamousSayingController.famousSayingLists.get(i).getId());
            // id의 content에 famousSayingLists의 content값 추가
            jsonObject.put("content", FamousSayingController.famousSayingLists.get(i).getFamousSaying());
            // id의 author에 famousSayingLists의 author값 추가
            jsonObject.put("author", FamousSayingController.famousSayingLists.get(i).getAuthor());
            // jsonArray.add({"id" : ID 값 , "content" : content 값 , "author" : author 값});
            jsonArray.add(jsonObject);
        }
        try (PrintWriter out = new PrintWriter(new FileWriter("data.json"))) {
            out.write(jsonArray.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }

File

File class

  • 파일 시스템에서 파일이나 디렉토리를 다루기 위한 클래스
  • 파일의 경로, 파일의 이름, 파일의 크기, 파일의 생성 시간, 수정 시간 등 다양한 정보를 제공하며 파일이나 디렉토리를 생성, 삭제, 이동, 이름 변경 등의 작업을 수행

Reader

Reader class

  • 문자 스트림에서 데이터를 읽어와서 문자로 변환하는 기능을 제공

0개의 댓글