我通过以下方法从服务器获得响应:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data{
NSString * result;
NSMutableData * _responseData = [[NSMutableData alloc]init];
[_responseData appendData:data];
NSDictionary *dataAsString=(NSDictionary*)[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data in register reponse : %@",dataAsString);
我在日志中得到这个json值:
dataAsString : {"status":"error","message":"MySQL Error: 1062 : Duplicate entry 'raushan@gmail.com' for key 'loginEmail'"}
现在我想从字符串中获取特定值,例如。关键"状态": 像下面的方法:
Nsstring * result=[dataAsString objectForKey:@"status"];
NSLog(@"result : %@",result);
但是我没有得到结果,我的应用程序崩溃了。我不知道这有什么问题。我尝试了很多方法,但没有成功。
请帮帮我。如何从dataAsString
检索值。
谢谢你宝贵的时间。
答案 0 :(得分:1)
NSJSONSerialization *json;
NSDictionary *dataJson;
NSError *error;
json=[NSJSONSerialization JSONObjectWithData:_responseData
options:NSJSONReadingMutableLeaves
error:&error];
dataJson=[[NSDictionary alloc]init];
dataJson=(NSDictionary *)json;
NSString * result=[dataJson valueForKey:@"status"];
答案 1 :(得分:0)
NSDictionary *parsedObject = [NSJSONSerialization JSONObjectWithData:receiveddata options:0 error:&localError];
NSDictionary *result = [dataAsString objectForKey:@"result"];
NSString *statusString = [result objectForKey:@"status"];