JSON에 대한 기존 라이브러리를 검색 한 후 마침내이 두 가지로 끝났습니다.
- 잭슨
- 구글 GSon
나는 GSON에 대해 약간 부분적이지만, 순전히 GSon은 특정 천상의 성능 문제 (2009 년 9 월 현재)로 고통 받고 있다는 것 입니다.
비교를 계속하고 있습니다. 그 사이에, 나는 내 마음을 구성하는 데 도움을 찾고 있습니다.
JSON에 대한 기존 라이브러리를 검색 한 후 마침내이 두 가지로 끝났습니다.
나는 GSON에 대해 약간 부분적이지만, 순전히 GSon은 특정 천상의 성능 문제 (2009 년 9 월 현재)로 고통 받고 있다는 것 입니다.
비교를 계속하고 있습니다. 그 사이에, 나는 내 마음을 구성하는 데 도움을 찾고 있습니다.
답변:
나는 지난주 에이 연구를했고 같은 2 개의 도서관으로 끝났습니다. Spring 3 (기본 Json보기 ' JacksonJsonView ' 에서 Jackson을 채택 함 )을 사용함에 따라 동일한 작업을 수행하는 것이 더 자연 스럽습니다. 2 lib는 거의 동일합니다 ... 결국 그들은 단순히 json 파일에 매핑됩니다! :)
어쨌든 잭슨 은 성능이 +이고 매우 중요합니다. 웹 페이지 에서 볼 수 있듯이 프로젝트도 매우 활발하며 이는 매우 좋은 신호입니다.
Jackson과 Gson은 실제 데이터 바인딩 지원과 관련하여 가장 완벽한 Java JSON 패키지입니다. 다른 많은 패키지는 기본 맵 /리스트 (또는 동등한 트리 모델) 바인딩 만 제공합니다. 둘 다 일반적인 유형뿐만 아니라 많은 일반적인 사용 사례에 대한 충분한 구성 기능을 완벽하게 지원합니다.
Jackson에 대해 더 잘 알고 있기 때문에 Jackson이 Gson보다 더 완벽하게 지원한다고 생각하는 측면이 있습니다 (Gson 기능이 누락 된 경우 사과).
Gson 1.6에는 이제 낮은 수준의 스트리밍 API와 실제로 Jackson보다 빠른 새로운 파서가 포함되어 있습니다.
위에서 이미 다른 답변에 추가. 대소 문자를 구분하지 않는 것이 중요하다면 Jackson을 사용하십시오. 잭슨은 Gson이 키 이름에 대해 대소 문자를 구분하지 않습니다.
여기 두 개의 관련 링크가 있습니다
(아니요) Gson 에서 대소 문자 구분 지원 : GSON : Json에서 대소 문자 구분 요소를 얻는 방법은 무엇입니까?
Jackson의 대소 문자 구분 지원 https://gist.github.com/electrum/1260489
MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES
이 Jackson 2.5에 추가되었습니다. 따라서 사용자 지정 코드를 추가 할 필요가 없습니다.
GSon은 JAXB를 지원하지 않는 것 같습니다. JAXB 어노테이션이있는 클래스를 사용하여 JSON 메시지를 작성하거나 처리함으로써 스프링 MVC를 사용하여 동일한 클래스를 공유하여 Restful Web Service 인터페이스를 작성할 수 있습니다.