2013-04-09 2 views
1

이 JSON 문자열을 받고 있는데이를 관리 객체로 구문 분석 할 수 있도록 사전에 직렬화하는 방법을 알고 싶습니다.JSON 문자열을 직렬화하십시오. SBJSON 대 NSJSONSerialization은 다른 것입니까?

나는 (제목에서 이름 지어진) 몇 가지 방법을 살펴본 결과, 가장 단순하고 빠른 대안을 찾을 수없는 것처럼 보입니다. NSJSONSerialization을 사용하고 싶습니다만,이 작업을 수행했는지 확신 할 수 없습니까? 문자열이

NSString *data = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding]; 
     NSLog(@"String %@",data); 

NSLog 메시지

String [{"0":"1","id":"1","1":"re ee","name":"re ee","2":"http:\/\/ree.com\/images\/re.png","backgroundImageUrl":"http:\/\/ree.com\/images\/re.png","3":"http:\/\/ree.com\/images\/re.png","logoImageUrl":"http:\/\/ree.com\/images\/re.png"}]<br /> 

로 제공

코드

+1

두 가지 모두 상당히 견고합니다. (사실, SBJSON에는 더 많은 시간이 소요되지만, NSJSONSerialization에는 그 뒤에 Apple이 있습니다.) 부분적으로는 더 편리 할뿐입니다. SBJSON을 사용하면 NSString을 사용할 수 있고 NSJSONSerialization을 사용하면 NSData를 사용할 수 있습니다. 나는 다른 사람들을 괴롭히지 않을 것이다. –

+0

그래서 NSString을 사용하는 AFNetworking을 사용하고 있습니까? –

+0

위의 예에서'response'는 NSData입니다. –

답변

1

JSONKit 당신이 찾고있는 무엇을 사전에 감사합니다.

사용의 용이성 외에도 NSJSONSerialization보다 더 빨리 SBJSon보다 빠릅니다. 응,

NSArray* arrayFromJson = [data objectFromJSONString]; 
NSString* id = arrayFromJson[0][@"id"]; 

쉬운 :

귀하의 예를 들어

, 당신은 다음과 같이 배열을받을 수 있나요?

+2

NSJSONSerialization은 완벽합니다. JSONKit은 사용되지 않는 기능을 사용하기 때문에 잠재적 인 문제가 있습니다. Apples 파서가 더 빨라 졌으므로 NSJSONSerialization보다 훨씬 빠릅니다. – CouchDeveloper

+1

파싱 속도가 어떻게되는지에 대해 통찰력을 줄 수 있습니까? GitHub에서'Readme.md'의 마지막 갱신은 2 년입니다. 지금 상황이 어떻게되는지 궁금합니다. – Majster

+0

NSJSONSerialization 끝까지 –