错误:JSON无法识别的主角

时间:2012-04-18 04:36:13

标签: iphone objective-c web-services sbjson

我正在实施SBJSON以从Web服务获取数据。我在“ConnectionDidFinishLoading”中的代码如下:

NSString *responseString = [[NSString alloc] initWithData:responseData encoding: NSUTF8StringEncoding];

    NSLog(@"Response String  %@", responseString);

    NSDictionary *results = [responseString JSONValue];

    NSString *extractUsers = [results objectForKey:@"d"];
    NSDictionary *finalResult = [extractUsers JSONValue];
    NSLog(@"Final Results : %@",finalResult);

但我在控制台中收到错误信息如下:

  

-JSONValue失败。错误跟踪是:(       “Error Domain = org.brautaset.JSON.ErrorDomain Code = 3 \”无法识别的前导字符\“UserInfo = 0x686d010   {NSLocalizedDescription =无法识别的主角}“)

我已经在stackoverflow上引用了几个链接,我也使用谷歌找到答案,但我无法得到解决方案

如果您有解决方案,请与我分享。

提前完成了......

2 个答案:

答案 0 :(得分:0)

首先你必须调用选择器。

         DownloadManager *mgr= [[DownloadManager alloc] sharedManager:self:@selector(downloadVideos:)];// initialize your class where u write all the methods

              [mgr downloadVideos];  // call method where u send request to particular url
        [mgr autorelease];

    -(void)downloadVideos:(NSMutableData*)data{

          NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

      NSDictionary *parseDict = (NSDictionary*)[responseString JSONValue];

         NSLog(@"%@",parseDict);

     }

答案 1 :(得分:0)

我刚遇到这个问题,结果证明Web服务使用的目录的权限已经更改。

因此浏览到WS或尝试其他方法来访问它以确保它已启动。