我在iOS中开发简单的应用程序,获取数据web api我的代码正确地返回了json数据但是当我想要特定的例如来自json的学生名称返回null。 这是我的数据:
{
Sudent(
{
{"id":"20",
"name":"Alan",
"email":"simpl@gmail.com",
"phone":"1234567890",
"location":"London"},
{
"id":"40",
"name":"John",
"email":"simpl@gmail.com",
"phone":"1234567890",
"location":"usa"},
"id":"50",
"name":"Nora",
"email":"simpl@gmail.com",
"phone":"1234567890",
"location":"kenya"},
})}
这里我的代码以json的形式获取数据,并存储了名为Student的
-(void)proxydidFinishLoadingData:(id)data InMethod:(NSString*)method
{
if ([method isEqualToString:@"getstudentdata"]){
defaultDict = [[NSMutableDictionary alloc]init];
[defaultDict addEntriesFromDictionary:[NSJSONSerialization JSONObjectWithData:[data dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil]];
Student = [defaultDict objectForKey:@"data"];
}
}
这个代码它工作正常并且正确并且返回了json数据,但问题是当我想获得特定索引,例如学生名称时,它不起作用,它返回null值。 完成这项工作的代码在这里:
NSMutableDictionary *response = [[defaultDict valueForKey:@"data"] mutableCopy];
NSString *name = [[response valueForKey:@"name"]];
];
NSLog(@"%@" ,name);
请帮助我获取学生姓名
答案 0 :(得分:0)
您正在检查"姓名"键入"数据"关键,但实际上它存在于"学生"键。
Parse to Student对象并使用for循环逐个获取" name"关键价值。
使用此网站http://www.json4swift.com/创建模型。(只需在此处输入JSON响应)。
Var dataModelArray = [Your_Model_Type]()
if let data = data[“student”] as? [String: AnyObject] {
dataModelArray = Your_Model_type.modelsFromDictionaryArray(array: data)
}
//您将在dataModelArray中拥有数组 //您可以像这样访问的示例
dataModelArray[0].name