JSON文本没有以AFNetworking的数组错误开头

时间:2014-08-01 05:07:27

标签: ios objective-c json afnetworking

我使用以下代码来执行GET请求。以相反的方式将params发送到服务器并将数据存储在服务器中。但我得到了错误 * JSON文本不是以数组*

开头的
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
        NSDictionary *params = @{@"emails": emailid,
                                 @"password": paswrd,
                                 @"gender": gende,
                                 @"firstname":name1,
                                 @"lastname":firstname1,
                                 @"dateofBirth":dob1,
                                 @"Country":count
                                 };

        [manager GET:@"http://37.187.152.236:91/EmployeeSvc.svc/AddEmployee?"
          parameters:params
             success:^(AFHTTPRequestOperation *operation, id responseObject) {
                 NSLog(@"JSON: %@", responseObject);
             } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                 NSLog(@"Error: %@", error);
             }];

This response am getting

4 个答案:

答案 0 :(得分:2)

-(void) testHTTPS {
    AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];
    [securityPolicy setAllowInvalidCertificates:YES];

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager setSecurityPolicy:securityPolicy];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    [manager GET:[NSString stringWithFormat:@"%@", HOST] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"%@", string);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", error);
    }];
}

答案 1 :(得分:1)

您可以查看您的服务内容类型,如果是text / html,则需要使用以下代码:

 manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];

答案 2 :(得分:1)

此问题可能是由于错误的JSON字符串造成的。通过Bad JSON字符串,我的意思是您的JSON响应可能不是以预期的字符开头,即&#39; [&#39; &#39; {&#39; < / strong>即可。起始字符必须始终为上述两个中的任何一个。

此外,您的JSON响应可能嵌入在某种XML字符串中。这件事发生在我身上,对我来说,只是我解释的JSON响应很糟糕,我通过适当的解析解决了这个问题。

检查此图片。这就是坏JSON的样子。

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">
[{"Title":"DemoTitle","CreationDate":"06/06/2014","Description":"DemoDescription"}]
</string>

如您所见,JSON嵌入在XML字符串中。**强文**另外,请检查此网站上的JSON响应:http://jsonlint.com/

这将显示您收到的JSON是否对解析有效。

希望这有帮助。

答案 3 :(得分:0)

当您的服务器未响应JSON响应或响应不是有效的JSON 时,这是服务器端错误,因为当AF网络库无法解析JSON响应时会出现此错误。 请与服务器端核对响应