JSON抛出错误

时间:2013-09-18 06:11:16

标签: ios json nsurlconnection

我收到了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];
    }

1 个答案:

答案 0 :(得分:1)

在你解析回复之前,我建议你检查它(在代码中,而不是在网络浏览器中),例如:

NSLog(@"responseData = %@", [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]);

我打赌你的反应不是你想的那样。 Web服务器报告了一些错误,或者您的didReceiveData中可能存在问题。

您还没有足够的共享权来评论您的NSURLConnectionDataDelegate方法,但此NSLog将帮助您确认JSON响应实际上是您所期望的。