服务器是php写的,输出的json格式肯定是对的,用其他工具也是验证过的,编码是utf8的,但是在ios上就是解析不了,解析代码如下
json数据是这样的
解析不了报的错是这样的
2014-07-16 13:00:09.504 Found[10664:60b] Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unescaped control character around character 18.) UserInfo=0x17697630 {NSDebugDescription=Unescaped control character around character 18.}
上述代码中的NSDictionary*dict得到的值是nil,但是response是有值的。
奇怪的是,同样的解析方式,解析同样格式的json是可以正常解析的,甚至,我把本来可以解析的json数据在php页面上输出仍旧解析不了。给我的感觉就似乎是
网页的编码不对,但是查了编码的确是utf8没错,已经纠结我两天了,只能来求各位帮忙
还有nserror的code是3840
+(NSDictionary *)DictionaryWithUrl:(NSString *)url
{
NSError *error;
//加载一个NSURL对象
NSString* T_url = [url stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURL* URL=[NSURL URLWithString:T_url];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
//NSLog(@"%@",request);
//将请求的url数据放到NSData对象中
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中
NSDictionary* dict= [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers error:&error];
NSLog(@"%@",error);
return dict;
}
json数据是这样的
{"0":[{"name":"编程之美:微软技术面试心得","no":" TP311/BCZ ","borrow":"馆藏复本:6 可借复本:3","author":" 《编程之美》小组著 电子工业出版社 2008 (0) ","url":"item.php?marc_no=0000381253"}]}
解析不了报的错是这样的
2014-07-16 13:00:09.504 Found[10664:60b] Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unescaped control character around character 18.) UserInfo=0x17697630 {NSDebugDescription=Unescaped control character around character 18.}
上述代码中的NSDictionary*dict得到的值是nil,但是response是有值的。
奇怪的是,同样的解析方式,解析同样格式的json是可以正常解析的,甚至,我把本来可以解析的json数据在php页面上输出仍旧解析不了。给我的感觉就似乎是
网页的编码不对,但是查了编码的确是utf8没错,已经纠结我两天了,只能来求各位帮忙
还有nserror的code是3840