[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정

2022. 7. 9. 18:43·노빠꾸 개발일지/JAVA
반응형

이번 포스팅에서는 자바에서 JSON객체를 이용해서 처리하는 방법(데이터 파싱, 데이터 입력/수정)에 대하여 알아보겠습니다.

 

이번 포스팅에서 이용할 라이브러리는 Gson 이라는 라이브러리 입니다.

 

https://mvnrepository.com/artifact/com.google.code.gson/gson/2.9.0

 

Maven Repository: com.google.code.gson » gson » 2.9.0

com.google.code.gson gson 2.9.0 // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0' // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation 'com

mvnrepository.com

위의 사이트에 들어가 보시면 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
'노빠꾸 개발일지/JAVA' 카테고리의 다른 글
  • 메이븐(MAVEN) 프로젝트 기본 세팅해보기 - 1
  • [JPA] 스프링 부트 JPA 기본 사용방법
  • [JPA] JPA(Java Persistence API) 란?
  • [Design Pattern] 싱글턴 패턴
No Backing
No Backing
노빠꾸
    300x250
  • No Backing
    누릇한 노빠꾸 블로그
    No Backing
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • 노빠꾸 서버 (20)
        • AWS (0)
        • 설치관련 (7)
        • 명령어 정리 (2)
        • 서버 설정 (8)
        • Nginx (2)
      • 노빠꾸 개발일지 (70)
        • JAVA (16)
        • JQUERY & JAVASCRIPT (10)
        • HTML5 (0)
        • SPRING (16)
        • Design Patterns (1)
        • DAUM API (1)
        • GIT (10)
        • Python (1)
        • SPRING SECURITY (1)
        • Vue (3)
      • 노빠꾸 데이터베이스 (9)
        • SQL (1)
        • ORACLE (3)
        • MySql (5)
      • 노빠꾸 일상 (13)
      • 노빠꾸 책 추천 (4)
      • 노빠꾸 경제 (20)
      • 노빠꾸 맥북 사용기 (7)
      • 노빠꾸 정보처리기사 정리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    websecurityconfigureradapter 변경사항
    리눅스 자바 설치
    websecurityconfigureradapter란
    개인서버 추천
    티스토리 사이트맵 등록
    사이트맵
    맥북 사용 팁
    스프링부트
    MySQL 사용자 계정 생성
    맥북 단축키
    깃허브 코파일럿
    우분투 자바 설치
    주식용어
    스프링 시큐리티 5.7 버전이후 변경사항
    JPA 쿼리 메소드
    WebSecurityConfigurerAdapter
    인텔리제이
    스프링부트 프로젝트
    Spring boot
    websecurityconfigureradapter 빈 등록
    스프링부트란
    경제용어
    Linode
    스프링부트 JPA
    금융용어
    스프링시큐리티 websecurityconfigureradapter
    리노드
    websecurityconfigureradapter 사용법
    WebSecurityConfigurerAdapter Deprecated
    MySQL 데이터베이스 생성
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
No Backing
[JAVA] JSON 객체 사용법 정리(JsonObject, JsonArray) 데이터 파싱, 데이터 수정
상단으로

티스토리툴바