일부 JSON을 Rails 백엔드로 보내려고합니다. 페이로드 (NSDictionary)를 serialize 할 때 빈 배열은 [] (빈 배열) 대신 nil로 인코딩됩니다.iOS JSON 직렬화 빈 배열이 [] 대신 nil로 직렬화 됨
[i]로 비어있는 NSArray를 인코딩하는 JSON이 iOS에서 지원되지 않습니까?
나는 dataWithJSONObject 내에서 'options'을 변경하려고 시도했다. 성공하지 못했다. @ "[]"일반 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에서 빈 배열을 보내라는 전화가 없었던 것 같습니다. –
Objective-C에 대한 다른 12 가지 JSON 구현 중 하나를 시도해 볼 수 있습니다. –
'NSError *'객체의 주소를'error :'인수로 전달한 다음 반환 할 때 검사하십시오. –