Gson 과 FastJSon 의 비교
3565 단어 json
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 으로 변환 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.