我收到 json 解析错误
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 2.)
这意味着 jSON 响应存在一些问题。但我面临着一个奇怪的情况,就像我使用本地主机 url 时没有收到此错误。如果我使用临时服务器 URL 来获取 json,则会收到此错误。但事实是同一个文件已迁移到登台服务器。
当我在浏览器中检查 url 时,两个 url 都得到相同的响应;
这是我的回复
[
{
"ClinicId": 15,
"ClinicNumber": "45-001",
"Name": "TBD Utah",
"PCName": "",
"Address": "",
"Address2": "",
"City": "",
"State": "UT ",
"Zipcode": "",
"RegionId": 15,
"Latitude": 0.0,
"Longitude": 0.0,
"MetroId": 0,
"CoopId": 0,
"PublicEmail": "",
"PublicPhoneNumber": "",
"ActualPhoneNumber": "",
"ClinicOpenDate": "0001-01-01T00:00:00",
"ClinicUrl": "",
"Notes": ""
},
{
------
},
{
------
},
]
这就是我获取数据的方式
NSString *str=@"http://192.2.200.167:84/api/Clinic/ClinicsByLatandLong?latitude=36.778261&longitude=-119.417932&apiKey=E9F5958F-C4BE-4D81-8649-F385205F0684";
NSURL *aUrl = [NSURL URLWithString:str];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:aUrl];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request
delegate:self];
if (connection) {
responseData=[NSMutableData data];
}
最佳答案
在解析响应之前,我建议您检查它(在代码中,而不是在网络浏览器中),例如:
NSLog(@"responseData = %@", [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]);
我敢打赌,这个 react 并不是你想象的那样。要么是网络服务器报告了一些错误,要么是您的 didReceiveData
中存在问题。
您分享的内容还不够多,我们无法评论您的 NSURLConnectionDataDelegate
方法,但是此 NSLog
将帮助您确认 JSON 响应实际上是您所期望的。
关于ios - JSON 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865036/