Objective c 使用iOS 6和xCode 4.5.2解析JSON
我是objective-c新手,正在为特定网站创建登录页面。当用户提供信息时,以下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
{
"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是字符串而不是数组
希望这对您有所帮助如果您确实找到了解决方案,请发布它。非常感谢。