Objective-C 용 JSON 구문 분석기 (JSON 프레임 워크, YAJL, TouchJSON 등) 비교
내가 아는 한 Objective-C, JSON Framework , YAJL 및 Touch JSON 용 JSON 파서가 세 개 있습니다. 그러면이 세 가지는 고유 한 특성을 갖습니다.
예를 들면 다음과 같습니다.
YAJL을 SAX 스타일 파서로 사용할 수 있습니다.
JSON 프레임 워크는 비교적 오랜 역사를 가지고 있으며 널리 사용됩니다.
Touch JSON은 NSString 대신 NSData를 구문 분석합니다.
또한 테스트 한 결과 성능 비교 결과는 다음과 같습니다.
[fast] YAJL> JSON Framework> Touch JSON [slow].
이 JSON 파서의 장단점을 알고 있다면 알려주시겠습니까?
마지막으로 다른 JSON 파서를 알고 있다면 알려주십시오.
속도를 찾고 있다면 JSONKit을 살펴 보십시오 . 일반적으로 이미 언급 한 JSON 라이브러리보다 훨씬 빠르며, 대개 몇 배 더 빠릅니다. 그리고 "최근에 인스턴스화 된 객체 캐시"이기 때문에 (일반적으로) 더 적은 메모리를 사용합니다.
내가 한 비교를 고려할 때 가장 빠른 라이브러리는 JSONKit이며 NSJSONSerialization (현재 공개 API)과 NextiveJSON이 뒤 따릅니다. SBJSON 및 TouchJSON은 이전 3 개의 라이브러리보다 약간 느립니다.
iOS 5.0.1이 설치된 iPhone 4S를 사용하여 비교했습니다.
도 있는데 이 파서는 :
나는 이것을 어떻게 우연히 만났는지 기억하지 못하지만 가볍고 단순 해 보였으므로 그것이 내 요구에 적합하다고 생각했습니다. NSData에서 초기화를 추가하기 위해 이벤트를 포크했습니다. 작은 응답을 구문 분석해야 했으므로 성능에 신경 쓰지 않았습니다. 어떻게 작동하는지 아는 것은 흥미로울 것입니다.
JSONKit은 YAJL보다 빠르며 YAJL은 Touch JSON보다 빠르며 IOS5 클래스 NSJSONSerialization 클래스는 훨씬 빠릅니다. NSJSONSerialization 은 타사 API를 사용할 필요가 없습니다.
봐 이 게시물 . <30 자>
NSObject에서 JSON으로 또는 그 반대로 시리얼 라이저를 찾고 있다면 OBJC JSONSerializer 를 확인 하십시오.
다른 종류의 파서를 비교하는 파서에 대한 akosma의 벤치 마크를 살펴보십시오. 하나의 파서가없는 경우 코드가 오픈 소스이므로 테스트에 추가 할 수도 있습니다.
'development' 카테고리의 다른 글
반환 값 또는 매개 변수 중 어느 것이 더 낫습니까? (0) | 2020.06.21 |
---|---|
파이썬 : iterable의 내용을 세트에 추가하는 방법? (0) | 2020.06.21 |
감사 로깅을위한 데이터베이스 디자인 (0) | 2020.06.20 |
최신 브라우저에서 JSON 하이재킹이 여전히 문제가됩니까? (0) | 2020.06.20 |
로그인 양식에 CSRF 공격에 대한 토큰이 필요합니까? (0) | 2020.06.20 |