我收到了json解析错误
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 2.)
这意味着jSON响应存在一些问题。但我面临一个奇怪的情况,比如当我使用本地主机网址时,我没有收到此错误。如果我使用登台服务器URL来获取json我收到此错误。但事实是相同的文件已迁移到登台服务器。
当我在浏览器中检查网址时,我对这两个网址的响应相同;。
这是我的回复
[
{
"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];
}
答案 0 :(得分:1)
在你解析回复之前,我建议你检查它(在代码中,而不是在网络浏览器中),例如:
NSLog(@"responseData = %@", [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]);
我打赌你的反应不是你想的那样。 Web服务器报告了一些错误,或者您的didReceiveData
中可能存在问题。
您还没有足够的共享权来评论您的NSURLConnectionDataDelegate
方法,但此NSLog
将帮助您确认JSON响应实际上是您所期望的。