JSON数据不是从NSDictionary创建的

时间:2014-02-03 13:30:17

标签: ios iphone nsdate nsjsonserialization

我正在尝试将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];

1 个答案:

答案 0 :(得分:0)

看起来您要将NSDateNSURL对象添加到字典中以转换为JSON。问题是JSON没有“日期”或“URL”数据类型。因此,您需要将日期/ URL转换为字符串(NSString)并添加该字符串。