如何将数据string转换为iOS中的json对象和string?

如何将string转换为iOS中的JSON对象或JSON数组? 我的JSONstring就像那样。

{"Data": [{"ID":"1","Name":"Raj"},{"ID":"2","Name":"Rajneesh"}]} 

我想从这个string获取ID或名称,请帮助我,如果有人现在这个。

谢谢。

我尝试下面的代码,但打印空

  NSString *JsonString=@"{"Data": [{"ID":"1","Name":"Raj"},{"ID":"2","Name":"Rajneesh"}]}"; NSData *objectData = [JsonString dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData options:0 error:&error]; NSArray* array = [json objectForKey:@"Data"]; NSLog(@"Print Array %@",array); 

用这个

 NSString *str=@"{\"Data\": [{\"ID\":\"1\",\"Name\":\"Raj\"},{\"ID\":\"2\",\"Name\":\"Rajneesh\"}]}"; NSMutableDictionary *dict=[NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:nil]; NSMutableArray *dataArr=[dict valueForKey:@"Data"]; for (NSDictionary *userData in dataArr) { NSLog(@"Id:%@ Name:%@",[userData valueForKey:@"ID"],[userData valueForKey:@"Name"]); } 

始终记住,当{}大括号时,表示它是Dictionary,当[]这个时,表示Array

 NSURL *url=[NSURL URLWithString:@"Your JSON URL"]; NSData *data = [[NSData alloc] initWithContentsOfURL:url]; NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]; NSArray *array = json[@"Data"]; for(NSMutableDictionary *dic in array) { NSLog(@"%@",dic[@"ID"]); // give 1 & 2 NSLog(@"%@",dic[@"Name"]); // Raj and Rajneesh } 

这不是正确的JSONstring,可以通过目标cparsing,从编码器获取string,你会得到一个有效的string,除此之外,从JSON到字典转换是简单的iOS,因为它本身的支持。

 NSData *data = [strJSON dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];