Данные не могут быть прочитаны, потому что они не в правильном формате

Хорошо, теперь я начинаю с разработки для iOS и в настоящее время играю с NSData, используя Obj-C. Недавно я использую метод URLSession: dataTask: didReceiveData для получения NSData с помощьюHTTP POST запрос, Сервер будет отвечать на объект JSON, содержащий массив JSON.

Что интересно, когда данные ответа слишком велики, часть NSLog распечатает: «Данные не могут быть прочитаны, потому что они не в правильном формате», Ниже приведена функция:

-(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data {
    NSError *error;
    // get data from NSData into NSDict
    NSDictionary *searchData = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
    NSArray *test = [NSKeyedUnarchiver unarchiveObjectWithData:data];
    NSMutableDictionary *mdict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
    NSLog(@"what: %@", mdict);
    NSLog(@"received data length: %@", [NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile]);
    if (error) {
        NSLog(@"json error: %@", [error localizedDescription]);
    }
}

Просто интересно, если кто-нибудь знает потенциальную причину, вызывающую эту проблему?

[Обновить]

Что ж, альтернативой для решения этой проблемы может быть использование NSString для хранения данных. Но пришлось бы разобрать это сам. Я бы предпочел использовать NSDictionary, хотя.

Ответы на вопрос(0)

Ваш ответ на вопрос