이번 포스팅에서는 자바에서 JSON객체를 이용해서 처리하는 방법(데이터 파싱, 데이터 입력/수정)에 대하여 알아보겠습니다.
이번 포스팅에서 이용할 라이브러리는 Gson 이라는 라이브러리 입니다.
https://mvnrepository.com/artifact/com.google.code.gson/gson/2.9.0
위의 사이트에 들어가 보시면 Gson라이브러리를 임포트 하는 방법이 나와있습니다.
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
</dependency>
메이븐 프로젝트일 경우 pom.xml파일에 위의 코드를 추가하여 사용하면되고, Gradle이나 다른 방법을 이용하실 경우에는 위의 사이트에서 각각에 맞는 코드를 사용하면 됩니다.
그럼 본격적으로 Java에서 Json객체를 이용하여 데이터를 처리하는 방법을 살펴보겠습니다.
1. JsonObject 데이터 파싱
String jsonString = "{\"name\": \"홍길동\", \"adress\":\"서울\"}";
JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonString).getAsJsonObject();
// Json데이터 추출
System.out.println(jsonObject.get("name")); // 홍길동
System.out.println(jsonObject.get("adress")); // 서울
// Json 데이터 추가입력
jsonObject.addProperty("age", "25");
System.out.println(jsonObject); // {"name" : "홍길동", "adress":"서울", "age":"25"}
위의 코드는 자바에서 문자열을 JsonObject로 파싱하는 코드입니다.
자바의 String 문자열을 JsonObject로 파싱하여, 해당 데이터를 추출도 하고, 값을 수정하고, 새로운 값도 입력해 줄 수 있다.
jsonObject.addProperty(); 를 이용하여 기존의 값을 수정할 수도 있고, 새로운 값(key, value)을 추가해 줄 수도 있다.
ex) jsonObject.addProperty("name", "이순신"); // 홍길동 -> 이순신으로 값 변경
jsonObject.addProperty("age", "25"); // age : 25 (key, value)값 추가
2. JsonArray 데이터 파싱
String jsonString = "{\"student\":[{\"name\": \"홍길동\", \"adress\":\"서울\"}, " +
"{\"name\": \"이순신\", \"adress\":\"인천\"}, " +
"{\"name\": \"장보고\", \"adress\":\"경기\"}]}";
JsonArray jsonArray = (JsonArray) new JsonParser().parse(jsonString).getAsJsonObject().getAsJsonArray("student");
System.out.println(jsonArray); // [{"name":"홍길동","adress":"서울"},{"name":"이순신","adress":"인천"},{"name":"장보고","adress":"경기"}]
for(int i=0;i<jsonArray.size();i++){
JsonObject object = (JsonObject)jsonArray.get(i);
object.addProperty("grade", "1"); // grade 추가
}
System.out.println(jsonArray); // [{"name":"홍길동","adress":"서울","grade":"1"},{"name":"이순신","adress":"인천","grade":"1"},{"name":"장보고","adress":"경기","grade":"1"}]
위와같이 Array형태의 Json형태도 파싱하여 데이터를 활용할 수 있다.
JsonArray를 이용하여 배열형태의 json값들을 받아와서, for문을 이용하여 해당데이터에 값을 추가할 수도 있고, 값들을 조건에 따라 수정해 줄수도 있다.
위의 코드들을 이용하면, Java를 이용하여 기본적인 데이터 처리 작업(데이터 입력, 수정, 조회)은 처리가 가능하다.
이번 피드는 Java를 이용한 가장 기본적인 Json처리에 관한 피드이고, 더 자세한 내용은 추가로 피드를 이용해서 작성해 보겠습니다.
'노빠꾸 개발일지 > JAVA' 카테고리의 다른 글
메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1 (0) | 2022.09.11 |
---|---|
[JPA] 스프링 부트 JPA 기본 사용방법 (0) | 2022.08.05 |
[JPA] JPA(Java Persistence API) 란? (0) | 2022.04.06 |
[Design Pattern] 싱글턴 패턴 (0) | 2021.05.09 |
[리눅스] JAVA 설치 및 환경설정 (1) | 2020.11.22 |