gpt4 book ai didi

IOS json 解析遇到错误问题解决办法

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章IOS json 解析遇到错误问题解决办法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

概要:

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn't be completed. (Cocoa error 3840.)" (Unescaped control character around character 1419.) UserInfo=0x1563cdd0 {NSDebugDescription=Unescaped control character around character 1419.} 。

之前解析json的时候都是标准格式,json数据当中没有 \n \r \t 等制表符.

今天在解析的时候发现json解析时好时坏,用在线json解析也米有问题。找了半天终于发现是制表符在作怪,由于标准的json解析是不允许有这几个制表符的。所以在收到保温的时候我们需要把这几个制表符给过滤掉.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
NSString * responseString = [request responseString];
 
responseString = [responseString stringByReplacingOccurrencesOfString:@ "\r\n" withString:@ "" ];
 
responseString = [responseString stringByReplacingOccurrencesOfString:@ "\n" withString:@ "" ];
 
responseString = [responseString stringByReplacingOccurrencesOfString:@ "\t" withString:@ "" ];
 
NSLog(@ "responseString = %@" ,responseString);
 
SBJsonParser *parser = [[[SBJsonParser alloc]init] autorelease];
 
id returnObject = [parser objectWithString:responseString];
 
NSDictionary *userInfo = nil;
 
NSArray *userArr = nil;
 
if ([returnObject isKindOfClass:[NSDictionary class ]]) {
 
if (userInfo) {
 
[userArr release];
 
}
 
userInfo = (NSDictionary*)returnObject;
 
}
 
else if ([returnObject isKindOfClass:[NSArray class ]]) {
 
userArr = (NSArray*)returnObject;
 
}
 
NSError* e = nil;

//系统自带的解析方式.

?
1
2
3
4
5
6
7
NSDictionary * userInfo = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:&e];
 
if (e) {
 
NSLog(@ "%@" ,e);
 
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

最后此篇关于IOS json 解析遇到错误问题解决办法的文章就讲到这里了,如果你想了解更多关于IOS json 解析遇到错误问题解决办法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com