Я пытаюсь отправить некоторый JSON в бэкэнд Rails. При сериализации полезной нагрузки (NSDictionary) пустой массив кодируется как nil вместо [] (пустой массив).iOS JSON сериализационный пустой массив, сериализованный как nil вместо []
Является ли JSON кодировкой пустого NSArray как [] не поддерживается в iOS?
Я попытался изменить «параметры» в dataWithJSONObject: без успеха. Отправка по @ "[]" как обычного ol 'NSString также не работает.
Вот код:
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:payload options:NSJSONReadingMutableLeaves error:&error];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
AFJSONRequestOperation *authRequest = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:successBlock failure:failBlock];
[authRequest start];
Спасибо за помощь!
Я видел противоположное на других языках, где используется пустой массив, потому что язык не имеет эквивалента NSNull. Думаю, у меня никогда не было вызова для отправки пустого массива на iOS. –
Вы всегда можете попробовать одну из двух десятков реализаций JSON для Objective-C. –
Я предлагаю вам передать в адрес объекта 'NSError *' аргумент 'error:', а затем проверить его при возврате. –