我收到以下错误
Error Domain=NSCocoaErrorDomain Code=3840 "The operation Couldn’t be completed. (Cocoa error 3840.)" (Unable to convert data to string around character 58208.
我已经检查,认为这是根据人物位置的违规行
{"ID":"353556","latitude":"57.1893","longitude":"-5.0929","name":"Sóil Chaorainn"}
根据我尝试的几个验证器,JsON本身似乎是有效的,我也期望它也来自一个大型组织,如Met Office.
NSJsONSerialization不应该像“ó”这样的字符正常工作吗?
如果不是如何改变编码类型来处理这个?
提前谢谢了
解决方法 Met Office数据点发送回ISO-8859-1中的数据,该数据不是NSJsONSerialization支持的数据格式之一.为了使其工作,首先使用NSISOlatin1StringEnCoding从URL内容创建一个字符串,然后创建要在NSJF中使用NSDataF8编码的NSJsONSerialization中的NSData.
以下工作来创建相应的Json对象
NSError *error;Nsstring *string = [Nsstring stringWithContentsOfURL:[NSURL URLWithString:@"http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/Json/siteList?key=<YOUR_API_KEY"] enCoding:NSISOlatin1StringEnCoding error:&error];NSData *metofficeData = [string dataUsingEnCoding:NSUTF8StringEnCoding];ID JsonObject = [NSJsONSerialization JsONObjectWithData:metofficeData options:kNilOptions error:&error];if (error) { //Error handling} else { //use your Json object NSDictionary *locations = [JsonObject objectForKey:@"Locations"]; NSArray *location = [locations objectForKey:@"Location"]; NSLog(@"Received %d locations from the DataPoint",[location count]);}总结
以上是内存溢出为你收集整理的ios – NSJSONSerialization – 无法将数据转换为字符串全部内容,希望文章能够帮你解决ios – NSJSONSerialization – 无法将数据转换为字符串所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)