我是iOS应用程序开发的新手,我从服务器得到以下响应:
"[{\"EmployeeID\":\"000001\",\"EmplyeeName\":\"ABCD EFGHI\"},
{\"EmployeeID\":\"000002\",\"EmplyeeName\":\"ADGHT ASASASAS\"}]"
请有人帮助我了解如何在我的申请中使用员工ID和员工姓名。
答案 0 :(得分:2)
NSData *response = ...;
NSArray *entries = [NSJSONSerialization JSONObjectWithData:response
options:0
error:nil];
for(NSDictionary* entry in entries) {
NSString* employeeID = [entry objectForKey:@"EmployeeID"];
}
答案 1 :(得分:2)
您的JSON数据看起来像“嵌套JSON”,这意味着您必须将其反序列化两次。
第一个反序列化从JSON数据中提取字符串:
NSData *response = ...; // your data
NSError *error;
NSString *innerJson = [NSJSONSerialization JSONObjectWithData:response
options:NSJSONReadingAllowFragments error:&error];
现在innerJson
是字符串
[{"EmployeeID":"000001","EmplyeeName":"ABCD EFGHI"},{"EmployeeID":"000002","EmplyeeName":"ADGHT ASASASAS"}]
这又是JSON数据。第二个反序列化提取数组:
NSArray *entries = [NSJSONSerialization JSONObjectWithData:[innerJson dataUsingEncoding:NSUTF8StringEncoding]
options:0 error:&error];
现在您可以像
一样访问它了for (NSDictionary *entry in entries) {
NSString* employeeID = [entry objectForKey:@"EmployeeID"];
NSLog(@"%@", employeeID);
}
答案 2 :(得分:1)
查看JSON Parser您的响应是JSON,因此您需要从json获取该数据。
NSURL * url=[NSURL URLWithString:@"<YourURL>"];
NSData * data=[NSData dataWithContentsOfURL:url];
NSError * error;
NSMutableDictionary * json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@",json);
NSMutableArray * EmployeeID=[[NSMutableArray alloc]init];
NSMutableArray * EmployeeName=[[NSMutableArray alloc]init];
NSArray * responseArr = json[@"geonames"];
for(NSDictionary * dict in responseArr)
{
[EmployeeID addObject:[dict valueForKey:@"EmployeeID"]];
[EmployeeName addObject:[dict valueForKey:@"EmplyeeName"]];
}
现在您可以获得EmployeeID,EmployeeName数组,现在您可以在任何地方使用它。
答案 3 :(得分:0)
答案 4 :(得分:0)
使用此:
NSData* yourData = [[NSData alloc] initWithContentsOfURL: yourURL];
NSarray* yourJSON = [NSJSONSerialization JSONObjectWithData:yourData options:kNilOptions error:nil];
希望这可以帮助你:)
答案 5 :(得分:0)
尝试使用它:
NSDictionary *myJSON = [NSJSONSerialization JSONObjectWithData:myData options:NSJSONReadingMutableContainers error:nil];