json是一种数据交换格式,可以用于任何编程语言。对于json的常规操作就是解析,但常常也会出现解析错误的情况。本文介绍json解析错误的两种情况,并提出解决方法。
错误一:JSON解析的时候String 的时候出现转义字符。
JSONValue failed. Error is: Unescaped control character [0x09]
解决:取消掉转义字符
调用 Call this method with passing your output string like this
NSString*output= [NSString stringWithContentsOfURL:[NSURL URLWithString:@"yourUrlString"] encoding:NSUTF8StringEncoding error:nil]; output = [self removeUnescapedCharacter:output];
注意:出现这种错误用SBJson才会有这个提示,系统方法不会提示错误。
错误二:格式错误
$bad_json = "{ 'bar': 'baz' }"; $bad_json = '{ bar: "baz" }'; $bad_json = '{ "bar": "baz", }';
解决:
由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。
当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,尤其要注意参数必须是utf-8编码。
以上就是小编整理的json解析常出现的两种错误即解决方法,希望能对你有所帮助哦~