【问题标题】:NSData --> Json --> NSArray and show information in UitableviewNSData --> Json --> NSArray 并在 Uitableview 中显示信息
【发布时间】:2013-07-26 08:52:51
【问题描述】:

我有一个 URL 请求,它以这种格式返回一个 JSON 字符串:

    {
"code": 1, "data": [
{
"city": "Trier",
"distance": 6,
"id": "1",
"image": "1_51af0b6a7ce86.png", "lat": "49.750893",
"long": "6.622419",
"name": "A1 Trier",
"street": "Über Brücken 4",
"zip": "54294"
}, {
} ]
}
"city": "Trier",
    "distance": 7,
    "id": "2",
    "image": "nologo.png", "lat": "49.757984",
    "long": "6.640876", "name": "Safari Haus Trier", "street": "Stockplatz 2a", "zip": "54294"

现在我需要NSDataNSArrayNSDictionary 来保存这些信息,对吧?我想在表格视图中显示来自 JSON 的数据。在每个单元格中都应该有俱乐部的名称、地点和距离。我怎样才能做到这一点?在第一个单元格中应该是第一个俱乐部和名称等等。在第二个单元格中应该是第二个俱乐部。

如何拆分这个 JSON 字符串?

【问题讨论】:

  • 创建字符串的 JSON 对象并检索“Data”键的数组。然后将该数组对象一一保存到具有唯一数据标识符的可变字典中,并在 tableviewforcell 数据中获取该数据。
  • 你能给我发个例子吗?因为我是 json 和 nsdata 的新手。

标签: json ios6 nsarray nsdata


【解决方案1】:

参考这个链接:

Parsing JSON in Objective-C using NSJSONSerialization

如上链接所述,可以使用 NSJSONSerialization 解析 JSON,如下所示:

第 1 步: 将您的 JSON 字符串(比如 jsonString)转换为 NSData

NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];

STEP-2:将JSON序列化为NSArray的数据

NSError *jsonParsingError = nil;
NSArray *responseArray = [NSJSONSerialization JSONObjectWithData:response
options:0 error:&jsonParsingError];

第 3 步: 在您的 cellForRowAtIndexPath: tableview 委托方法中,为 tableview 创建一个自定义单元格,其中有三个标签用于显示俱乐部名称(例如 lblName)、俱乐部距离(例如lblDistance)和俱乐部的地方(比如lblPlace)。完成此操作后,您可以操作数组中的数据并将其显示在 tableview 中

如果您需要更多帮助,请告诉我。

【讨论】:

  • 我已经和你一样做了,但是应用程序崩溃了。我收到错误 [__NSDictionaryM dataUsingEncoding:]: unrecognized selector sent to instance 0xa140d90 。错误发生在第 1 步。这是我的代码 NSData* data = [jsonstringgetclubs dataUsingEncoding:NSUTF8StringEncoding];
  • 我发现了错误。它应该是 Nsdictionary 而不是数组。但知道我只能读取“数据”。例如,我不能只显示距离。只有信息的孔块
  • 我明白了。我通过这种方式做到了,现在它可以工作了。 NSLog(@"res %@",[[[responseArray objectForKey:@"data"] objectAtIndex:1] objectForKey:@"city"]);
【解决方案2】:

尝试使用 JSON 工具包进行 JSON 解析。

你可以找到 JSONKit here

看看这个example

【讨论】:

  • 我需要他们的帐户和密钥。没有json套件就不可能吗?并且只有 iOS 6 的功能?
  • 这只是一个例子。尝试使用您的 json 字符串解析。使用 jsonkit 函数。
猜你喜欢
  • 1970-01-01
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2018-03-18
  • 1970-01-01
  • 2014-03-13
  • 1970-01-01
相关资源
最近更新 更多