Objective c 使用iOS 6和xCode 4.5.2解析JSON

Objective c 使用iOS 6和xCode 4.5.2解析JSON,objective-c,json,ios5,ios6,xcode4.5,Objective C,Json,Ios5,Ios6,Xcode4.5,我是objective-c新手,正在为特定网站创建登录页面。当用户提供信息时,以下JSON将从服务器返回: { "object":{}, "resultCode":0, "resultMessage":"You successfully signed in " } 根据我找到的一个教程,我正在尝试这样做: -(IBAction)login{ // Download JSON NSData *data = [NSData dataWithCont

我是objective-c新手,正在为特定网站创建登录页面。当用户提供信息时,以下JSON将从服务器返回:

  {
   "object":{},
   "resultCode":0,
   "resultMessage":"You successfully signed in "
 }
根据我找到的一个教程,我正在尝试这样做:

-(IBAction)login{
        // Download JSON

    NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString:[NSString stringWithFormat:@"https://www.example.com/login?username=%@&password=%@", nationalID.text,passowrd.text]]];
        NSError *error;
        NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

        NSArray *response = [json objectForKey:@"resultMessage"];
        NSLog(@"response %@",response); 
}
我想注销“resultMessage”,但不知何故它引发了一个异常:

    2012-12-13 06:46:50.607 myProject[7178:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
*** First throw call stack:
(0x1c8d012 0x10cae7e 0x1c8cdeb 0xbff817 0x2f1a 0x10de705 0x15920 0x158b8 0xd6671 0xd6bcf 0xd5d38 0x4533f 0x45552 0x233aa 0x14cf8 0x1be8df9 0x1be8ad0 0x1c02bf5 0x1c02962 0x1c33bb6 0x1c32f44 0x1c32e1b 0x1be77e3 0x1be7668 0x1265c 0x279d 0x26c5)
libc++abi.dylib: terminate called throwing an exception

如果您能遵守问题描述:

“NSInvalidArgumentException”,原因:“数据参数为零”

表示您对web url的响应为零或空

这与JSON解析器无关。

看起来像-dataWithContentsOfURL:message失败并返回了nil,这正是错误消息所说的。您需要确认您的-stringWithFormat:消息提供了正确的URL格式,并检查服务器是否返回您期望的内容。

看起来您有一个简单的输入错误,您正在使用:

nationalID.text,passowrd.text

您可能想避免拼错“密码”。

首先尝试静态url,如:

如果返回正确的响应,请尝试属性变量,如:

您犯的一个错误是,resultMessage是字符串而不是数组


希望这对您有所帮助

如果您确实找到了解决方案,请发布它。非常感谢。