json数据到服务器

时间:2012-12-06 17:00:39

标签: ios json nsdata

我正在开发一个应用,我必须以deviceToken格式向uuidJSON发送"regid":"x1y2z3","uuid":"1a2b3c"格式,如:NSString我如何存储{{1}以这种格式进入NSData并将其发送到服务器?

regid字符串与x1y2z3类似,uuid字符串与1a2b3c类似。

我的代码:

 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];

2 个答案:

答案 0 :(得分:2)

如果你想生成那个JSON字符串,你可以构建你的字典(这是在Xcode 4.5中更简洁的方式,而不是构建这两个数组然后将它们组合成字典):

NSDictionary *dictionary = @{@"regid":tkStr,@"uuid":finalUIDstr};

然后生成您的JSON字符串:

NSError *error;
NSData *data = [NSJSONSerialization dataWithJSONObject:dictionary
                                               options:0
                                                 error:&error];

答案 1 :(得分:1)

将NSDictionary转换为Json(NSJSONSerialization或SBJson)并将其作为Application / Json发布到服务器。