我正在尝试使用 NSJsonSerialization 反序列化来自服务器的 JSON。服务器返回一个转换为字符串的 png 图像。这是我的代码:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSError *deserializationError;
id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:&deserializationError];
if (deserializationError) {
NSLog(@"JSON deserialization error: %@", deserializationError.localizedDescription);
return;
}
} ];
这是我从服务器收到的信息:
{"photo":"�PNG\r\n\u001A\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000:\u0000\u0000\u0000:\b\u0002\u0000\u0000\u0000n��\u007F\u0000\u0000\u001FrIDATx�}z\u0005W[y��|��..."}
但我在解析 JSON 时出错:“JSON 反序列化错误:操作无法完成。(Cocoa 错误 3840。)”。我认为问题在于 JSON 的格式。但是那些写服务器端的人说他们可以成功地反序列化这个对象。有什么建议如何处理这个 JSON?