본문 바로가기
IT/PROGRAM

JSON란? JAVA(자바)에서 JSON 데이타 만들기

by SidePower 2021. 2. 10.

 

데이터 교환에 많이 사용되고 있는 JSON에 대해 알아보고

JAVA 코딩으로 JSON 데이터를 만들어보겠습니다.

 

 

JSON

JavaScript Object Notation의 약자이며

자바스크립트의 객체 형식을 기반으로 만들어졌습니다.

인터넷과 통신 네트워크에서 데이타를 전달할 때 사용되는 데이터 형식입니다.

 

JSON은 특별한 통신 문법이나 필요한 스펙 그리고

라이브러리를 설치해야 되는게 아니고

단지 데이타를 표현하는 방식일 뿐입니다.

 

JSON 데이터 형식은 순수하게 데이터만 표현하는 형식이라

심플하고 가벼워서 최근 대부분의 송신과 수신 간에 데이터 교환 시

JSON 형식이 많이 채택되고 있습니다.

 

XML → JSON 전환

지금도

여전히 많이 사용되고 있는 데이터를 표현하는 언어로 XML 있어요.

 

XML는 HTML을 기반으로 데이타 표현하는 언어라 

데이타 외에는 추가 키워드나 태그들이 많아 첨가되어 무겁습니다.

적은 양의 데이터 전송시에는 괜찮을지라도 양이 많아지면 

느려지거나 버벅되기도 하고 빠른 전송에 문제가 되었죠.

 

JSON의 등장으로 서서히 데이타 전송 대해서는

가벼운 JSON으로 전환되는 추세입니다.

 

JSON 사용하는 이유

javascript로 파싱이 바로 가능해서 java 계열 서버 전환이 쉬어요.

가장 큰 이유가 바로 빠름입니다.ㅋ

 

 

JSON 데이타 표현 문법

name과 value 형식으로 데이타 표현

name과 value 구분은 콜론 : 으로 표현

name과 문자열은 큰따옴표를 " " 사용해서 표기

name-value를 한쌍으로 해서 중괄호 { } 로 묶음

 

자료형

문자열(string)

    큰따옴표로 묶어주세요.     "안녕하세요"

숫자(number)

    그냥 숫자 적으시면 돼요.      123

null

    값이 없거나 빈 값으로 설정할 때 사용합니다.  null

배열(array)

    대괄호 [ ] 로 묶어 여러 개의 값을 나타낼 수 있습니다.

    ["값1","값2","값3","값4"]

객체(object)

    name과 value의 한쌍이 여러 개 표현된 것입니다.

    {"name":"홍길동","age":23,"addr":null}

 

특수문자 표현

JSON 문법에 큰따옴표를 사용하는데요.

 

큰따옴표를 데이터로 사용하고 싶을때는

큰따옴표 바로 앞에 \를 사용해야 됩니다.

 

"name":"내 이름은 \"홍길동\"입니다."

→ 내 이름은 "홍길동"입니다.

 

 

 JAVA(자바)에서 JSON 데이타 만들기 

 

JSON의 빠른 활용을 위해

이미 JSON 라이브러리가 만들어져 제공되고 있습니다.

이 JSON 라이브러리를 이용해서 쉽게 JSON 데이터를 만들 수 있습니다.

 

JSON 라이브러리 다운로드

json 라이브러리 다운로드 바로가기

 File에 json-simple-1.1.1.jar 파일명을 클릭해서 다운로드 받아주세요.

 

 

JSON 라이브러리 추가하기

프로젝트명 마우스 오른쪽 버튼 클릭해서 Properties 메뉴 클릭해주세요.

Java Build Path 메뉴 클릭해주세요.

오른쪽 메뉴 중에서 Add JARs.. 또는 Add External JARs.. 클릭해주세요.

json-simple-1.1.1.jar을 찾아 선택해주세요.

Apply and Close 클릭하세요.

 

아래처럼 추가된 게 보이실 거예요.

 

JSON 샘플 소스


import org.json.simple.JSONArray;
import org.json.simple.JSONObject;


public class One1 {

    public static void main(String[] args) {

    JSONObject jsonob = new JSONObject();
    JSONArray jsonarr = new JSONArray();

    for(int i=1;i<3;i++) {

        JSONObject data = new JSONObject();

        data.put("이름", "인간_"+i);
        data.put("나이",10+i);
        data.put("주소", "서울 중앙로 "+i+"");
        jsonarr.add(data);

    }

    jsonob.put("사람들", jsonarr);

    System.out.println(jsonob);

    }
}

{"사람들":[{"이름":"인간_1","주소":"서울 중앙로 1길","나이":11},{"이름":"인간_2","주소":"서울 중앙로 2길","나이":12}]}

 

JSON 데이타를 HTTP 보내고 받기 설명 바로가기

 

 

 

감사합니다.

반응형

댓글