2011-02-26 66 views
2

我正在嘗試將JSON解碼爲包含許多字符串對的NSDictionary。一些返回的字符串返回爲&而不是&,並且一些非英文字符顯示爲它們的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

要UNESCAPE HTML實體看看this "objective-c-html-escape-unescape",它提供了一個乾淨的方式。