【问题标题】:Json Code is not workingJson 代码不起作用
【发布时间】:2017-04-11 21:14:26
【问题描述】:
NSString *urlString = @"http://chkdin.com/dev/api/peoplearoundmexy/?";
NSURL *url = [NSURL URLWithString:urlString];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

NSString *parameterString=[NSString stringWithFormat:@"skey=%@&user_id=%@",@"XXXXXXX",@"3225"];


NSLog(@"%@",parameterString);


[request setHTTPMethod:@"POST"];

[request setURL:url];

[request setValue:parameterString forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];


NSData *postData = [parameterString dataUsingEncoding:NSUTF8StringEncoding];

[request setHTTPBody:postData];

    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
    NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]);
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    NSLog(@"%@",dict);

这是我的 json 解析,我的问题是当我点击这个 api 时它正在显示

{
  message = "Valid skey required.";
status = 0;
}

但是这个 api 在 safari 中工作。我认为问题是请求添加到 url 错误。你能帮我吗....

【问题讨论】:

  • 你遇到了什么问题
  • result show is valid key required, but the skey is working in url.
  • 请找到上面的url链接。
  • 你的请求类型是get或者post

标签: ios objective-c json parsing post


【解决方案1】:

我尝试在没有AFNetworking 的情况下使用以下代码并且它工作正常。

NSString *post = [NSString stringWithFormat:@"skey=%@&user_id=%@",@"sa6rw9er7twefc9a7dvcxcheckedin",@"3225"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://chkdin.com/dev/api/peoplearoundmexy/?%@",post]]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:nil];
NSError *error;

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
NSLog(@"%@",[NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]);
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@",dict);

【讨论】:

    【解决方案2】:

    我通过 AFNetworking 3 得到响应

    试试这个

     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        manager.responseSerializer = [AFJSONResponseSerializer serializer];
        [manager GET:@"http://chkdin.com/dev/api/peoplearoundmexy/?" parameters:@{@"skey":@"sa6rw9er7twefc9a7dvcxcheckedin",@"user_id":@"3225"} progress:nil success:^(NSURLSessionTask *task, id responseObject) {
            NSLog(@"%@",responseObject);
        } failure:^(NSURLSessionTask *operation, NSError *error) {
        }];
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2014-04-21
    相关资源
    最近更新 更多