一尘不染

如何解析收到的响应

json

我对iOS应用程序开发非常陌生,并且从服务器收到以下响应:

"[{\"EmployeeID\":\"000001\",\"EmplyeeName\":\"ABCD EFGHI\"},
{\"EmployeeID\":\"000002\",\"EmplyeeName\":\"ADGHT ASASASAS\"}]"

请任何人帮助我了解如何在我的应用程序中使用员工ID和员工姓名。


阅读 241

收藏
2020-07-27

共1个答案

一尘不染

您的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);
}
2020-07-27