티스토리 뷰
현재 제가 서버와 클라이언트 간의 통신 규격으로 사용하고 있는 JSON을 Java에서 라이브러리를 통해 사용하는 방법을 알아보겠습니다.
■ 데이터 교환 형식 - JSON
우선, JSON이란 경량의 데이터 교환 형식으로 사람이 읽고 쓰기도 편하고, 기계역시 마찬가지 입니다.
JSON은 JavaScript에서 객체를 만들 때 사용되는 표현식이지만 완전히 독립적이여서 어떠한 언어에서도 사용이 가능합니다.
● JSON 표기법
JSON을 사용하기 위해 우선적으로 JSON의 표기법을 알아야 합니다. 형식도 모르고 그냥 라이브러리만 이용해서 사용한다면 JSON을 완벽하게 사용하지 못하는 것 과 마찬가지 입니다.
우선, JSON의 가장 큰 단위는 Object입니다. Object는 중괄호로 표기하고, 이 Object 안에 Key값에 대응하는 변수들이 들어가게 됩니다. 변수들에는 문자열, 숫자, Object, 배열등이 있습니다. 이 변수들을 Object에 넣게 될때 대응하는 Key 값이 있는데 변수의 이름과 같다고 보면 됩니다.
두 번째로 배열은 대괄호로 표기하고 따옴표(,)를 통해 변수들을 구별하고 나열합니다. 이 배열을 Object에 넣어서 표기합니다. 배열의 요소들에는 위에서 언급한 변수들의 목록과 같습니다.
● 예제
그럼 위의 설명을 통해 JSON 표기법으로 만들어진 Object를 살펴봅시다.
아래의 Object를 보면 Test라는 이름의 "New"라는 문자열 변수가 들어있고("Test": "New"), NumberList라는 이름의 숫자 배열이 담겨있습니다.
■ Java에서 JSON 사용법
위의 예제처럼 표기를 하게 된다면 읽기 편하지만, 아무리 보기 좋더라도 쓰기가 꽤 귀찮을 수 있을 것 같습니다. 그래서 Java에서는 라이브러리를 통해 쉽게 Object와 배열을 생성하고, 변수를 넣을 수 있습니다. 또, 넣는 것 뿐만 아니라 Object에선 가져오고자 하는 변수의 이름만 알면 쉽게 데이터를 가져올 수 있습니다.
그래서! Java에서 라이브러리를 통해 JSON을 사용법에 대해 살펴보겠습니다.
이클립스에서 프로젝트를 새로 생성하고 아래 라이브러리를 다운받은뒤 Build Path를 통해 라이브러리를 등록합시다.
JSONObject 객체를 생성한 뒤에 put와 get을 통해 삽입과 가져오는 것 이 가능합니다. 그리고 JSONArray도 비슷하게 put과 get으로 삽입과 해당 인덱스의 데이터를를 가져올 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | try { JSONObject obj = new JSONObject(); obj.put("Test", "New"); JSONArray arr = new JSONArray(); arr.put(12); arr.put(122); arr.put(453); arr.put(123); obj.put("NumberList", arr); System.out.println(obj.toString()); } catch (JSONException e) { e.printStackTrace(); } | cs |
위의 코드를 그대로 실행하면 아래와 같이 출력이 됩니다.
{"Test":"New","NumberList":[12,122,453,123]}
Object에 데이터를 삽입하는 방법은 put("이름", 데이터)를 통해 가능하고, 배열은 그냥 put(데이터)를 통해 삽입할 수 있습니다. Object로 부터 데이터를 가져오기 위해선 get타입("이름")을 통해 가져올 수 있고, 배열로 부터 데이터를 가져오기 위해선 get(index)를 통해 가져올 수 있습니다.
이미지 출처:http://www.json.org/json-ko.html
'프로그래밍 > java' 카테고리의 다른 글
AES 암호화/복호화 알고리즘 - Java (0) | 2016.02.08 |
---|---|
객체지향 언어 Java 강좌 #3 - 객체지향과 클래스(Class) (0) | 2016.01.26 |
객체지향 언어 Java 강좌 #2.1- 배열의 길이 length (0) | 2016.01.03 |
객체지향 언어 Java 강좌 #2- 배열(array) (0) | 2015.12.01 |
객체지향 언어 Java 강좌 #1 - 자바 언어 (0) | 2015.10.08 |