在 Objective C (iOS) 中解析 JSON
Posted
技术标签:
【中文标题】在 Objective C (iOS) 中解析 JSON【英文标题】:Parsing JSON in Objective C (iOS) 【发布时间】:2012-07-06 12:53:12 【问题描述】:我在 Objective C 中解析 JSON 字符串时遇到问题: 我的 JSON:
"messages":["nick":"Tim","message":"Hallo","time":"06.07.2012 13:26:41"]
我的目标 C 代码:
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:@"..URL.."];
NSArray *messages = [data objectForKey:@"messages"];
NSDictionary *json = [NSJSONSerialization
JSONObjectWithData:messages
options:NSJSONReadingMutableLeaves
error:&error];
NSString *nick = [json objectForKey:@"nick"];
NSString *message = [json objectForKey:@"message"];
但这不起作用,我不知道该怎么办!
【问题讨论】:
认为您在此处混淆了代码。您正在对NSData
对象调用 objectForKey:
。
那里实际上看不到问题。当您说“不起作用”时,您是什么意思?有错误吗?结果不正确?你试过什么?如果您需要帮助,请提供更多信息。
我需要 NSString 而不是 NSData 什么的???
在使用NSJSONSerialization
之前,您在NSData
上调用objectForKey:
。如果在这种情况下messages
不是nil
,我会感到惊讶。此外,一旦代码被翻转,ahwulf 的答案就是正确的。
【参考方案1】:
您的 JSON 是字典数组的字典,即 []
NSArray *messages = [json objectForKey:@"messages"];
NSString* nick = [[messages objectAtIndex:0]objectForKey:@"nick"]
【讨论】:
以上是关于在 Objective C (iOS) 中解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章
来自 NSMutableArray 的 Objective C JSON 解析
如何解析 JSON 响应并在 Objective C 中使用它?