[Java] JSON

2023. 3. 15. 18:06·Java/Base
728x90
728x90

JSON (JavaScript Object Notation, 제이슨)

  - Key-Value 쌍 or 배열 형태의 데이터를 텍스트(문자열) 형식으로 표현하는 것

      → Java에서 JSON은 '특정한 구조(약속)가 있는 문자열'

  - 경량의 데이터 교환 형식

      → 서버와 클라이언트 간의 교류에서 자주 사용됨

  - 사람과 기계 모두 이해하기 쉬우며 용량이 적음

      → JSON이 XML을 대체해서 데이터 전송에 많이 사용됨

  - JSON 문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어짐

      → 자바스크립트를 이용해서 JSON 형식의 문서를 쉽게 자바스크립트 객체로 변환할 수 있음

 

  - Key에는 항상 쌍따옴표("")를 사용함

#  JSON 데이터 타입

  - String

  - number

  - boolean 

  - object (객체) : { }

  - 배열(array, 리스트) : [ ]

 

1
2
3
4
5
6
7
8
9
10
11
// 예시
 
{
    "name" : "John", // String 타입 value
    "age" : 30, // int 타입 value
    "languages" : ["English", "Franch", "Spanish"], // String 배열(리스트)
    "friend" : [ // 객체 배열(리스트)
        {"name" : "Mary", "age" : 28}, // 배열 내 객체
        {"name" : "Peter", "age" : 32}
    ]
}
Colored by Color Scripter
cs

 

 


Parsing (파싱)

  - 원하는 데이터 형식으로 변환하는 것

      → 특정한 규칙이 있는 문자열을 Java에서 사용하는 데이터 형식으로 변환하는 과정

# JSON Parsing

  - JSON 형식의 문자열을 Java Object로 변환하는 것

  - Gson 클래스를 사용하면 편리함

      (사용법 및 활용 예제 : https://young0105.tistory.com/137)

 

 

728x90

JSON 객체 (JsonObject 클래스)

1
2
3
4
5
6
7
8
9
10
11
// 인스턴스화
JsonObject 객체명 = new JsonObject();
 
// JsonObject 객체에 키-값 쌍 추가 (기본 형태)
JO객체.addProperty("키", 값); // 값은 자료형에 맞게 입력
 
// JsonObject 객체에 키-값 쌍 추가 (값이 JsonArray 객체일 경우)
JO객체.add("키", JsonArray객체); // JsonArray가 JsonElement의 자식 클래스여서 가능
 
// 키에 해당하는 값 가져오기
JO객체.get("키");
Colored by Color Scripter
cs

 

JSON 객체의 배열 (JsonArray 클래스)

1
2
3
4
5
6
7
8
9
10
11
// 인스턴스화
JsonArray 객체명 = new JsonArray(); // 값을 넣지 않으면 "[]" 상태
 
// JsonArray에 JsonObject 추가
JA객체.add(JsonObject객체);
 
// JsonArray 객체에 있는 JsonObject 객체 가져오기
JsonObject targetObject = JA객체.get(인덱스).getAsJsonObject();
 
// 가져온 JsonObject 객체에서 값 가져오기
String targetValue = targetObject.get("키").getAsString(); // 값의 자료형에 맞게
cs

 

 


직렬화 (Serialization)

  - 객체를 일련의 바이트로 변환하는 과정

      → 메모리에 존재하는 객체를 파일로 저장하거나, 네트워크 상에서 전송할 수 있도록 함

           : Marshalling 또는 Encoding

  - 직렬화된 객체는 다시 역직렬화해서 객체로 변환할 수 있음

 

  - Serializable 인터페이스를 구현한 클래스는 직렬화가 가능한 클래스가 됨

  - JSON으로 직렬화 : Java 객체를 JSON 포맷으로 변환하는 것

      → JSON 문자열로 표현됨

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'Java > Base' 카테고리의 다른 글

[Java] 웹 페이지의 JSON을 가져와 DB 테이블에 삽입하기  (0) 2023.03.16
[Java] Gson 클래스를 활용한 JSON Phasing  (0) 2023.03.15
[Java] Statement와 PreparedStatement  (1) 2023.03.12
[Java] Java로 SQL CRUD 구현하기  (0) 2023.03.09
[Java] Java와 MySQL 데이터베이스 연결하기  (0) 2023.03.09
'Java/Base' 카테고리의 다른 글
  • [Java] 웹 페이지의 JSON을 가져와 DB 테이블에 삽입하기
  • [Java] Gson 클래스를 활용한 JSON Phasing
  • [Java] Statement와 PreparedStatement
  • [Java] Java로 SQL CRUD 구현하기
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (385)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • IT Notes (13)
      • Error Notes (17)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
      • etc. (0)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    CSS
    Android
    Wordpress
    SQL
    vuejs
    오블완
    php
    git
    jQuery
    SpringBoot
    Hotkeys
    C#
    Swing
    tailwindcss
    cs
    SWAGGER
    java
    errorNote
    typeScript
    js
    티스토리챌린지
    Codeigniter
    http
    SEO
    면접
    zapier
    jsp
    HTML
    개발일지
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java] JSON
상단으로

티스토리툴바