我正在尝试使用此URL测试NSJSONSerialization;链接有效,应用程序运行,但是当我记录序列化时,得到的结果为空。

谁能告诉我我在做什么错?码:

@implementation ViewController

- ( void )viewDidLoad
{
    [super viewDidLoad];

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

    [request setURL:[NSURL URLWithString:@"https:franciscocosta.net/lisbon-spots"]];

    NSURLSessionDataTask *task = [[self getURLSession] dataTaskWithRequest:request completionHandler:^( NSData *data, NSURLResponse *response, NSError *error )
    {dispatch_async( dispatch_get_main_queue(),
^{
NSError *jsonError;
NSArray *parsedJSONArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&jsonError];

    NSLog( @"%@", parsedJSONArray );
                        } );
                    }];
    [task resume];
}

- ( NSURLSession * )getURLSession
{
    static NSURLSession *session = nil;
    static dispatch_once_t onceToken;
    dispatch_once( &onceToken,
                  ^{
                      NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
                      session = [NSURLSession sessionWithConfiguration:configuration];
                  } );

    return session;
}

最佳答案

看来您的JSON格式不正确。

如果将链接输入Safari,然后复制生成的JSON并将其粘贴到JSONL验证器(如JSONLint),则在第25行显示错误。看起来好像有一个不属于此处的右括号(])。看来JSON包含2个根数组对象,我认为这是无效的。

如果将其重构为包含单个词典数组,则它将通过JSONLint测试作为有效JSON。

关于ios - NSJSONSerialization返回null-Objective-C,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42074094/

10-10 14:44