我正在尝试将NSDictionary转换为JSON对象以通过网络发送它。但我在将dictionarty转换为NSData时遇到错误。 这是我的代码:
NSError *error=nil;
NSDictionary *loginfbDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSData *d=[NSJSONSerialization dataWithJSONObject:loginfbDictionary options:NSJSONWritingPrettyPrinted error:&error];
NSLog(@"error===>%@",error);
BOOL f=[NSJSONSerialization isValidJSONObject:d];
当我将字典转换为NSData时,我将其打印出来。但是当我将字典转换成数据后编写代码时,我什么都没得到。我把调试点放在NSData * d之后......但是我的代码在该行之后没有执行。我在appdelegate文件中编写此代码。
对象包含:
NSArray *keys = [NSArray arrayWithObjects:
@"loginVia",
@"userName",
// @"password",
@"firstName",
@"lastName",
@"gender",
@"dob",
@"email",
@"fb_url",
nil];
NSArray *objects = [NSArray arrayWithObjects:
@"facebook",
[[NSUserDefaults standardUserDefaults] objectForKey:@"username"],
// [[NSUserDefaults standardUserDefaults] objectForKey:@"password"],
[FBUserProfileData objectForKey:@"first_name"],
[FBUserProfileData objectForKey:@"last_name"],
[FBUserProfileData objectForKey:@"gender"],
ds,
[FBUserProfileData objectForKey:@"email"],
fb_url,
nil];
答案 0 :(得分:0)
看起来您要将NSDate
或NSURL
对象添加到字典中以转换为JSON。问题是JSON没有“日期”或“URL”数据类型。因此,您需要将日期/ URL转换为字符串(NSString
)并添加该字符串。