从 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 数据

返回的 JSON 数据从 NSDictionary 变为 NSArray

从 NSDictionary 对象的 NSArray 中,如何获取唯一的 NSArray

如何从 NSArray iOS PUT JSON 格式数据

JSON 到 NSArray 格式

获取嵌套 JSON 的 NSArray/NSDictionary