Error de cocoa 3840 usando JSON (iOS)

Estoy intentando enviar datos a un server y recibir la respuesta en formatting JSON. El problema es que el server debe devolver "success" o "fail" pero devuelve "(null)".

Aquí está el error devuelto:

Error de dominio = NSCocoaErrorDomain Code = 3840 "No se pudo completar la operación (Cocoa error 3840.)" (El text JSON no comenzó con array u object y la opción para permitir fragments no configurados) UserInfo = XXXXXXXXX {NSDebugDescription = Texto JSON no comenzó con array u object y la opción para permitir fragments no configurados.}

¿Es posible que el error esté en el script del server? ¿Alguna idea? ¡Gracias!

Aquí está mi function para enviar los datos y recibir la respuesta:

- (void) putData:(NSString *)parametre valor:(NSString *)valor { NSString *rawString = [NSString stringWithFormat:@"%@=%@", parametre, valor]; NSData *data = [rawString dataUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:@"http://www.xxx.xxx/xxx.php"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"PUT"]; [request setHTTPBody:data]; NSURLResponse *response; NSError *error; NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSLog(@"responseData: %@ error: %@", json, error); } 

A less que pase la opción NSJSONReadingAllowFragments a [NSJSONSerialization JSONObjectWithData:options:error:] la respuesta del server debe ser JSON válido con un contenedor de nivel superior que es una matriz o dictionary.

por ejemplo:

  { "response" : "Success" } 

PS Si desea un dictionary mutable, también debe include NSJSONReadingMutableContainers en sus opciones.

Es posible que la respuesta de su server no contenga JSON válido.

Técnicamente, el object JSON debe comenzar con una "matriz" o un "object (dictionary)".

Entonces, lo que sea que su server regrese no lo es.

Y, puede forzar que JSON se consum independientemente usando la opción NSJSONReadingAllowFragments.

mediante el uso ,

 AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments]; 

Puede get este problema si está conectado a VPN en su dispositivo iOS.