gpt4 book ai didi

ios - 无法访问序列化的 JSON 数据(NSJSONSerialization)

转载 作者:行者123 更新时间:2023-11-28 19:08:06 25 4
gpt4 key购买 nike

我从 Web 服务获取此 JSON:

{
"Respons": [{
"status": "101",
"uid": "0"
}]
}

我尝试通过以下方式访问数据:

NSError* error;

//Response is a NSArray declared in header file.
self.response = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

NSString *test = [[self.response objectAtIndex:0] objectForKey:@"status"]; //[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance
NSString *test = [[self.response objectForKey:@"status"] objectAtIndex:0]; //(null)

但是它们都不起作用,如果我 NSLog 保存序列化数据的 NSArray,这就是我得到的:

{
Respons = (
{
status = 105;
uid = 0;
}
);
}

我如何访问数据?

最佳答案

您的 JSON 表示一个字典,其中与 Respons 键关联的值是一个数组。该数组有一个对象,它本身就是一个字典。该字典有两个键,statusuid

所以,例如,如果你想提取状态,我相信你需要:

NSArray *array = [self.response objectForKey:@"Respons"];
NSDictionary *dictionary = [array objectAtIndex:0];
NSString *status = [dictionary objectForKey:@"status"];

或者,在最新版本的编译器中:

NSArray *array = self.response[@"Respons"];
NSDictionary *dictionary = array[0];
NSString *status = dictionary[@"status"];

或者,更简洁:

NSString *status = self.response[@"Respons"][0][@"status"];

关于ios - 无法访问序列化的 JSON 数据(NSJSONSerialization),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com