Je travaille sur une application dans laquelle je dois envoyer deviceToken
et uuid
au serveur au format JSON
comme: "regid":"x1y2z3","uuid":"1a2b3c"
comment puis-je stocker les NSString
s en NSData
dans ce format et l'envoyer au serveur?données JSON au serveur
regid
chaîne est comme x1y2z3
et uuid
chaîne est comme 1a2b3c
.
mon code:
PushNotification* pushHandler = [self.viewController getCommandInstance:@"PushNotification"];
[pushHandler didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
NSString *deviceT = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
NSString *tkStr = [[NSString alloc]initWithData:deviceToken encoding:NSUTF8StringEncoding];
tkStr = [deviceT stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"Device Token = %@",tkStr);
//UUID
CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidStr = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);
CFRelease(uuid);
NSString *finalUIDstr = [uuidStr stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"UUID = %@",finalUIDstr);
NSArray *keysArray = [NSArray arrayWithObjects:@"regid", @"uuid", nil];
NSArray *objectArray = [NSArray arrayWithObjects:tkStr,finalUIDstr, nil];
//Dictionary
NSDictionary *jsonDict = [NSDictionary dictionaryWithObjects:objectArray forKeys:keysArray];
le serveur accepte les données dans '[ "regid": "x1y2z3", "uuid": "1a2b3c"]' format, mais quand je l'ai 'résultat NSLog' est comme 'JSON DATA = <7b227265 67696422 3a223831 63666131 38343236 61366363 64333666 62633132 64376361 65663734 37633963 30333439 6 5316163 61333064 33633461 37326330 36636165 36613238 6231222c 22757569 64223a22 38433135 45363831 45434643 34363633 39333644 34334541 42343036 35444641 227d> ' est-ce acceptable? –
Oui, quand vous connectez un 'NSData', il vous montre les codes. Si vous voulez voir la représentation 'NSString' de ces données, regardez' [[NSString alloc] initWithData: encodage des données: NSUTF8StringEncoding] '. – Rob
merci cela a fonctionné, mais je suppose qu'il ya un problème côté serveur 'ne peut pas convertir D2655594D8B84D7E9B73130D340D9A94' à long valeur ' –