2011-02-26 3 views
2

많은 문자열 쌍이있는 NSDictionary로 JSON을 디코딩하려고합니다. 반환 된 문자열 중 일부는 & 대신 &으로 반환되고 일부 영어가 아닌 문자는 올바르게 디코딩 된 값 대신 URL 인코딩 된 값으로 표시됩니다. 이 문제를 어떻게 해결할 수 있습니까?TouchJSON 디코딩 문제

NSString *strContent = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding]; 

//I cache the string here 

NSData *jsonData = [strContent dataUsingEncoding:NSUTF8StringEncoding]; 
NSError *error = nil; 
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error]; 

답변

1

페이로드가 도착하면됩니다. 사전을 작성한 후에는이를 처리해야합니다. 데이터를 사용하여 작업하거나 미리 사전을 탐색해야하고 데이터를 원하는 형식으로 변환해야하는 경우가 있습니다.

다음는 NSString 방법은 URL 인코딩을 언 이스케이프를 위해 유용하게 사용할 수 있습니다 stringByReplacingPercentEscapesUsingEncoding

언 이스케이프 HTML을 엔티티 this "objective-c-html-escape-unescape"에서 봐 가지고, 그것은 깨끗한 방법을 제공합니다.