gpt4 book ai didi

ios - NSJSONSerialization 解析错误 - 无法识别的选择器

转载 作者:行者123 更新时间:2023-11-28 18:33:45 26 4
gpt4 key购买 nike

这是代码:

NSString *jsonString = @"[
{\"sn\": \"E\", \"t\": \"K\", \"d\": \"Tue 3-Mar\"},
{\"sn\": \"F\", \"t\": \"Y 1\", \"d\": \"Tue 3-Mar\"}
]";
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSArray *jsArray = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"jsArray: %@", jsArray);

for (id job in jsArray) {
NSLog(@"job: %@", job);
NSLog(@"%@", [job sn]);
}

在控制台中,我得到了这个:

2014-04-22 15:40:46.464 test[2442:60b] jsArray: (
{
d = "Tue 3-Mar";
sn = E;
t = K;
},
{
d = "Tue 3-Mar";
sn = F;
t = "Y 1";
}
)
2014-04-22 15:40:46.466 test[2442:60b] job: {
d = "Tue 3-Mar";
sn = E;
t = K;
}
-[__NSCFDictionary sn]: unrecognized selector sent to instance 0x8fa53b0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFDictionary sn]: unrecognized selector sent to instance 0x8fa53b0'

它似乎能识别对象数组和单个对象。为什么它反对属性 sn

最佳答案

jsArray 包含字典。所以 job 是一个 NSDictionaryNSDictionary 没有名为 sn 的方法。如果您想要键 @"sn" 的值,那么您需要:

for (NSDictionary *job in jsArray) {
NSLog(@"job: %@", job);
NSLog(@"%@", job[@"sn"]);
}

关于ios - NSJSONSerialization 解析错误 - 无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211467/

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