JSON parser JSONIC 사용법

Tools 2017. 11. 12. 16:01

적절한 카테고리가 없으니 일단 여기에다가😅


간단한 JAVA용 JSON 파서 라이브러리 하나를 소개한다.

JSONIC이다.


참고 URL: http://jsonic.osdn.jp/


JSONIC은 심플, 고기능을 제공하는 JAVA용 JSON 인코더/디코더 라이브러리입니다. 

JSONIC은 RFC-7159 형식의 JSON 인코딩/디코딩 작업을 수행하면서도 프로그래밍 언어에 의존하는 정보를 JSON내에 포함할 필요 없이 POJO로 손쉬운 변환이 가능합니다.

(중략)

JSONIC은 Apache License, Version 2.0 이하에서 배포되었습니다.


사용법은 아래와 같다. 


1. Maven 설정 추가


<dependency>

    <groupId>net.arnx</groupId>

    <artifactId>jsonic</artifactId>

    <version>1.3.10</version>

</dependency>



2. JAVA → JSON 문자열


import net.arnx.jsonic.JSON;


Map<String, String> target = new HashMap();

target.put("key1", "value1");

target.put("key2", "value2");


String encoded = JSON.encode(target);


System.out.print(encoded);


결과: {"key1":"value1","key2":"value2"}


encode시 Boolean 옵션을 추가로 주면 beautify를 적용할 수 있다.


String encoded = JSON.encode(target, true);


System.out.print(encoded);


결과: {

"key1": "value1",

"key2": "value2"

}



3. JSON 문자열 → JAVA


Map<String, String> decoded = JSON.decode(encoded);

System.out.println(decoded.get("key1"));


결과: value1





사용법은 소개와 마찬가지로 정말 심플하다. 그저 encode, decode를 호출하고 객체를 지정하는 것뿐이다.

클래스 타입 등을 지정하면 해당 타입으로 캐스팅도 가능하다.

사용해보면 알겠지만 상당히 복잡한 형태의 객체로도 쉽게 캐스팅된다.

조금 까다로운 부분은 제네릭 타입을 이용하는 컬렉션 객체가 중첩된 구조인 경우인데, 이 경우도 캐스팅 자체는 가능했다.


JSONエンコーダー 항목 참고




일을 하다 보면 JSON을 파싱할 일이 생각보다 많은데 org.json에서 제공하는 파서는 너무 단적인 모델만 지원을 해서 사용이 번거롭다.

단일 객체는 JSONObject, 배열 객체는 JSONArray로 객체 타입이 달라지기도 하고, JACKSON은 사용법이 JSONIC 만큼 심플하지 않고.

물론 속도적 측면에서는 JACKSON이 우수한 걸로 알고 있다. 실제로 이전 회사에서 역시 초기에는 JSONIC을 사용했지만 성능 이슈로 후에 JACKSON으로 넘어갔다.


하지만 대량의 데이터를 파싱해야 하는 경우가 아니라면 성능 이슈는 그다지 문제가 되지 않는다. (고 생각하는 편)

사용해보면 심플한 사용법에 감탄하게 되는 라이브러리 중 하나라고 (왜인지 알 수 없지만 내가) 자부한다.




'Tools' 카테고리의 다른 글

맥용 gui git 도구 SourceTree  (0) 2017.07.31

WRITTEN BY
Project JT
2명의 개발자가 팀 프로젝트를하며 사용한 기술들을 남기는 팀 블로그입니다.

,