从 NSArray 获取 JSON 数据
Posted
技术标签:
【中文标题】从 NSArray 获取 JSON 数据【英文标题】:Get data from JSON from NSArray 【发布时间】:2013-12-13 04:29:51 【问题描述】:我的 NSArray 中的数据是一个 JSON 对象,如下所示:
<modelObject 0x1714abe0>
key = 165825004;
value = Hello I am the data
数组中有大约 20 个这样的对象,我正在尝试在 UITableView 单元格上显示该对象的“值”。
在“(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
”我愿意:
cell.textLabel.text = [self.myArray objectAtIndex:indexPath.row];
由于错误而崩溃:
[modelObject length]: unrecognized selector sent to instance 0x1714abe0"
我假设它的抛出错误是因为我有 2 个键值对或因为它是 JSON 数据。我该如何处理?我只想在单元格的“value”属性中显示数据,即在这种情况下,我想在单元格上显示“Hello I am the data”。
【问题讨论】:
你的 JSON 对象是字典而不是数组。 它的字典在一个数组中。因为我在 myArray 中有多个这样的对象,这是一个 NSMutable 数组。它就像 myArray = [modelObject0, modelObject1, modelObject2,... , modelObject20] 【参考方案1】:你应该以这种方式获取价值
cell.textLabel.text = [[self.myArray objectAtIndex:indexPath.row]objectForKey:@"key"];
或
cell.textLabel.text = self.myArray[indexPath.row][@"key"];
【讨论】:
更容易使用cell.textLabel.text = self.myArray[indexPath.row][@"value"];
谢谢它的工作......只是一个更正......它的 valueForKey 对我有用,而不是 objectForKey。 :)【参考方案2】:
在 cellForRowAtIndexPath 中放这行代码... 从存放 JSON 数据的字典中获取的employeeName 数据
cell.textLabel.text = [NSString stringWithFormat:@"%@",[[self.data objectAtIndex:indexPath.row]employeeName]];
【讨论】:
以上是关于从 NSArray 获取 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
返回的 JSON 数据从 NSDictionary 变为 NSArray