gpt4 book ai didi

ios - 解析 NSJSONReadingAllowFragments

转载 作者:可可西里 更新时间:2023-11-01 05:35:57 25 4
gpt4 key购买 nike

我在我的应用程序中收到了一些 json 数据:

NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonResponse options:NSJSONReadingAllowFragments error:nil];
NSLog(@"json :%@", json);

记录:

json :{
"email" : "/apex/emailAttachment?documentId=00PZ0000000zAgSMAU&recipientId=003Z000000XzHmJIAV&relatedObjectId=a09Z00000036kc8IAA&subject=Pricing+Comparison"
}

这正是我想要的。

但是,当我去阅读电子邮件的值(value)时,做

[json objectForKey:@"email"]

我收到无效参数异常:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSDictionary initWithDictionary:copyItems:]: dictionary argument is not an NSDictionary'

我如何读取这个值?

最佳答案

您的服务器似乎发送了“嵌套的 JSON”:jsonResponse 是一个 JSON string(不是字典)。该字符串的值同样是表示字典的 JSON 数据。

在这种情况下,您必须对 JSON 进行两次反序列化:

NSString *jsonString = [NSJSONSerialization JSONObjectWithData:jsonResponse options:NSJSONReadingAllowFragments error:nil];
NSData *innerJson = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:innerJson options:0 error:nil];

NSString *email = jsonDict[@"email"];

关于ios - 解析 NSJSONReadingAllowFragments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526142/

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