java-json 연동

카테고리 없음 2014. 2. 26. 03:46

1. Java - JSON 연동

- JSON 공식 홈페이지 : http://www.json.org

- JSON 개요 : http://www.json.org/json-ko.html

 

 JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석

하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999의 일부

에 토대를 두고 있다. JSON은 완벽하게 언어로 부터 독립적이지만 C-family 언어 - C, C++, C#, Java, JavaScript, Perl,

 Python 그외 다수 - 의 프로그래머들에게 친숙한 관습을 사용하는 텍스트 형식이다. 이러한 속성들이 JSON을 이상적인

 DATA-교환 언어로 만들고 있다.

 

... 라고 써 있습니다. 약간 어려운 듯 하지만, 실제 사용해보면 쉽고 간단합니다.

 

간추려서 말하면, JSON을 지원하는 여러 다양한 언어(C, C++, C#, Java, PHP, Javascript 등...)에서 자료를 쉽게 주고

받을 수 있다고 볼 수 있습니다.

 

 

JSON 은 바로 사용하지 못하고 언어에 맞게 별도의 컴파일 과정을 거친 후, 사용할 수 있습니다.

 

C 의 경우 컴파일 후에 필요한 파일들 복사하고 헤더 파일을 등록 후에 사용하는 것 처럼,

Java 에서도 제공된 라이브러리를 통해서 간단하게 사용할 수 있습니다.

 

여러 라이브러리 중에서 사용하기 간단한 것은 json-simple 라이브러리 인거 같았습니다.

 

json-simple 다운로드 : http://code.google.com/p/json-simple/

 

파일을 다운로드 받은 후,

Java에서 Project 생성 후, 아래와 같이 라이브러리를 등록해주면 됩니다.

 

 

 

2. JSON-simple로 json사용

 

사전에 TCP, UDP 통신등으로 데이터를 주고 받을 수 있도록 구현이 된 상태에서 진행하도록 합니다.

먼저 데이터를 넣는 방법입니다.

아래와 같이 JSONObject를 선언한 다음에 put을 통해서 데이터를 집어 넣어 줍니다.

 

   JSONObject obj;

  obj = new JSONObject();

  obj.put("key1", "value1");
  obj.put("key2", "value2");

 

위와 같이 만들어진 obj를 통신을 사용해서 보내고자 하는 곳으로 넘겨주면 됩니다.

받게 되는 곳에서는 위의 obj를 받게 됩니다.

이 때, 받은 자료를 value 라는 String 에 저장을 했습니다.

 

받은 데이터를 JSON 문법으로 해석합니다.

그 다음 get을 통해서 키를 입력하면 값을 받을 수 있습니다.

 

 

 

   JSONObject obj;

  obj = new JSONObject();

  obj.put("key1", "value1");
  obj.put("key2", "value2");

 

위와 같이 했을 때, tmp 는 value2 라는 값을 가지게 됩니다.

 

통신 프로그램을 만들게 될 때, 같은 언어가 아닌 다른 언어로 데이터를 보내야할 때가 있습니다.

C 에서 Java 로 데이터를 보내거나 Java에서 C++ 로 보낼 때 처럼요.

서로 데이터를 주고 받기 위해서는 데이터 구조를 맞춰야 하는데, 종종 힘든 경우가 생깁니다.

 

이런 경우 JSON을 통한다면, 데이터를 빠르고 쉽게 주고 받을 수 있기 때문에 자주 사용하고 있습니다. ^^