2015-09-18 2 views
0

J'ai un problème avec NSJSONSerialization. J'ai un objet JSON avec des valeurs de latitude et de longitude (37.321398, 28.292399).Je ne peux pas analyser correctement double de JSON

NSData *l_responseData    = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error]; 
NSMutableDictionary* l_serverResult = [NSJSONSerialization JSONObjectWithData: l_responseData options:NSJSONReadingMutableContainers error:&error]; 

NSData *l_responseData a un nombre correct sans perte de précision dans JSON mais quand j'utilise NSJSONSerialization JSONObjectWithData: l_responseData .... NSMutableDictionary * l_serverResult a la latitude et valeurs de longitude (double) avec perte de précision (37,3214, 28,2924).

Comment puis-je résoudre ce problème?

Répondre

0

Vous pouvez être sûr que l_responseData contient des données correctes? Pour autant que je sache, JSONObjectWithData:options:error: ne perd rien pendant l'analyse.

Voici un exemple de code pour le prouver:

NSMutableDictionary *test = [NSMutableDictionary dictionaryWithDictionary:@{@"Lat": @37.321398, @"Long" : @28.292399}]; 
NSData *data = [NSJSONSerialization dataWithJSONObject:test options:NSJSONWritingPrettyPrinted error:nil]; 

NSDictionary *test1 = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; 

NSLog(@"test1 = %@", test1); // This prints correct values. 

Alors, je vous conseille de vérifier la réponse que vous obtenez de serveur.