CGe*_*Gee 1 parsing json decode objective-c ios
我正在获取JSON对象并将它们保存在NSString中,如下所示:
// fetch JSON from a Wiki article
NSError *error = nil;
NSString *responseString = [NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:&error];
Run Code Online (Sandbox Code Playgroud)
这是一般的工作但我的responseString充满了\u####转义字符,我想要的是相应的UTF8字符,例如\u2640应该是?.
解码我的所有转义字符的最简单方法是responseString什么?
更新:
我在某处读到了我应该尝试使用JSON NSNonLossyASCIIStringEncoding而不是NSUTF8StringEncoding,但这会导致错误,所以我根本没有得到responseString它.
那么错误是:
Error Domain=NSCocoaErrorDomain Code=261 "The operation couldn’t be completed. (Cocoa error 261.)"
Run Code Online (Sandbox Code Playgroud)
不要获取字符串.获取数据和转换正在使用NSJSONSerialization:
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
Run Code Online (Sandbox Code Playgroud)
NSJSONSerialization 自动处理所有引用和转义的东西.
jsonObject将是一个NSArray或NSDictionary,取决于输入数据.
备注:dataWithContentsOfURL阻止当前线程,直到请求完全结束(或超时).如果这是一个问题,请考虑使用其中一种异步方法NSURLConnection来获取数据.)
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |