-JSONValue failed. Error is: Unescaped control character [0x0D]
这个错误就是JSON解析的时候String 的时候出现转义字符。
对应用NSString 里的stringByReplacingOccurrencesOfString:@"\r"withString:@"" 取消掉转义字符就OK那!
NSString *json_string1=[json_string stringByReplacingOccurrencesOfString:@"\r"withString:@""]
或者是在线工具生成的代码,并不能保证百分百准确的。
500 错误应该是你get返回JSON 的时候没给GET 开权限吧500错误一般是后台代码错误 在.NET MVC 里面 GET json 需要给JSON 额外加一个参数
1. 编码问题。
2. 如果data是有数据的,但是arr是nil,找到error:The operation couldn't be completed. (Cocoa error 3840.)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]NSError *error = nilNSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)NSString *dataString = [[NSString alloc] initWithData:data encoding:enc]NSData *utf8Data = [dataString dataUsingEncoding:NSUTF8StringEncoding]NSArray *arr = [NSJSONSerialization JSONObjectWithData:utf8Data options:NSJSONReadingMutableContainers error:&error]3. json非标准格式:(比如json数据存在\n \r \t 等制表符)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]]
NSError *error = nilNSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)NSString *dataString = [[NSString alloc] initWithData:data encoding:enc]//json数据当中没有 \n \r \t 等制表符,当后台给出有问题时,我们需要对json数据过滤 dataString = [dataString stringByReplacingOccurrencesOfString:@"\r\n" withString:@""] dataString = [dataString stringByReplacingOccurrencesOfString:@"\n" withString:@""] dataString = [dataString stringByReplacingOccurrencesOfString:@"\t" withString:@""] NSData *utf8Data = [dataString dataUsingEncoding:NSUTF8StringEncoding]NSArray *arr = [NSJSONSerialization JSONObjectWithData:utf8Data options:NS欢迎分享,转载请注明来源:内存溢出
评论列表(0条)