Gson 과 FastJSon 의 비교

3565 단어 json
참고:https://www.cnblogs.com/yanduanduan/p/7508992.html
 
1. 구 글 의 Gson
Gson 은 현재 기능 이 가장 완전한 JSon 해석 신기 입 니 다. Gson 의 응용 은 주로 toJSon 과 from JSon 두 개의 변환 함수 입 니 다. 의존 하지 않 고 예외 적 으로 추가 적 인 jar 가 필요 하지 않 아 도 JDK 에서 직접 달 릴 수 있 습 니 다.이러한 대상 변환 을 사용 하기 전에 대상 의 유형 과 구성원 을 잘 만들어 야 JSON 문자열 을 상대 적 인 대상 으로 성공 적 으로 변환 할 수 있 습 니 다.클래스 에 get 과 set 방법 만 있 으 면 Gson 은 복잡 한 유형의 json 을 bean 이나 bean 에서 json 으로 전환 시 킬 수 있 으 며 JSON 이 분석 한 신기 입 니 다.Gson 은 기능 면 에 서 는 나 무 랄 데 가 없 지만 성능 면 에 서 는 FastJSon 보다 차이 가 있다.
1. bean 변환 json: toJSon
Gson gson = new Gson();
String json = gson.toJson(obj);

2. json 변환 bean: from JSon
Gson gson = new Gson();
String json = "{\"id\":\"2\",\"name\":\"Json  \"}";
Book book = gson.fromJson(json, Book.class);

3. json 복잡 한 bean, 예 를 들 어 List, Set: fromJson
//  json        bean,    TypeToken
Gson gson = new Gson();
String json = "[{\"id\":\"1\",\"name\":\"Json  \"},{\"id\":\"2\",\"name\":\"java  \"}]";
//  json   List
List list = gson.fromJson(json, new TypeToken() {}.getType());
//  json   Set
Set set = gson.fromJson(json, new TypeToken() {}.getType());

4. json 대상 을 통 해 json 및 json 도 구 를 직접 조작 합 니 다.
GsonBuilder gsonBuilder = new GsonBuilder();
ResponseData responseData = gsonBuilder.create().fromJson(result, ResponseData.class);

 
2. 알 리 바 바 의 Fastjson
Fastjson 은 자바 언어 로 작 성 된 고성능 JSON 프로세서 로 알 리 바 바 가 개발 했다.의존 하지 않 고 예외 없 이 별도의 jar 없 이 JDK 를 달 릴 수 있 습 니 다.FastJSon 은 복잡 한 유형의 Bean 변환 JSon 에서 일부 문제 가 발생 할 수 있 으 며, 인용 유형 이 발생 해 JSon 변환 에 오류 가 발생 할 수 있 으 므 로 인용 을 작성 해 야 한다.FastJSon 은 독창적 인 알고리즘 을 사용 하여 parse 의 속 도 를 극치 로 올 려 모든 json 라 이브 러 리 를 초과 합 니 다.
1. bean 변환 json: toJSONstring
//           json
JSON.toJSONString(obj, true);
//            json
JSON.toJSONString(obj, false);

//          ,          json   json         ,   
//  $ref":"$[0].books[1]
Student stu = new Student();
Set books= new HashSet();
Book book = new Book();
books.add(book);
stu.setBooks(books);
List list = new ArrayList();
for(int i=0;i<5;i++) {
    list.add(stu);
}
String json = JSON.toJSONString(list, true);

2. json 변환 bean: parseObject
String json = "{\"id\":\"2\",\"name\":\"Json  \"}";
Book book = JSON.parseObject(json, Book.class);

3. json 복잡 한 bean, 예 를 들 어 List, Map: parseObject 전환
String json = "[{\"id\":\"1\",\"name\":\"Json  \"},{\"id\":\"2\",\"name\":\"java  \"}]";
//  json   List
List list = JSON.parseObject(json, new TypeReference(){});
//  json   Set
Set set = JSON.parseObject(json, new TypeReference(){});

4. 제 이 슨 대상 을 통 해 제 이 슨 을 직접 조작
String propertyName = 'id';
String propertyValue = "";
String json = "{\"id\":\"1\",\"name\":\"Json  \"}";
JSONObject obj = JSON.parseObject(json);
propertyValue = obj.get(propertyName));

 
어떻게
프로젝트 를 선택 할 때 Google 의 Gson 과 알 리 바 바 의 FastJSon 두 가 지 를 병행 사용 할 수 있 습 니 다. 기능 요구 사항 일 뿐 성능 요구 사항 이 없 으 면 google 의 Gson 을 사용 할 수 있 습 니 다. 성능 상의 요구 사항 이 있 으 면 Gson 을 사용 하여 bean 을 json 으로 변환 하여 데이터 의 정확성 을 확보 할 수 있 습 니 다. FastJSon 을 사용 하여 JSon 을 Bean 으로 변환 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기