NSData - > Json - > NSArray并在Uitableview中显示信息

时间:2013-07-26 08:52:51

标签: json ios6 nsarray nsdata

我有一个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"

现在我需要一个NSData,然后一个NSArrayNSDictionary来保存这些信息,对吧?我想在tableview中显示JSON中的数据。在每个单元格中应该是俱乐部的名称,地点和距离。我怎样才能做到这一点?在第一个单元格应该是第一个俱乐部和名称等等......在第二个单元格中应该是第二个俱乐部。

如何拆分此JSON字符串?

2 个答案:

答案 0 :(得分:1)

请参阅此链接:

Parsing JSON in Objective-C using NSJSONSerialization

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

STEP-1:将您的JSON字符串(例如jsonString)转换为NSData

NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];

第2步:将JSON序列化为NSArray的数据

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

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

中即可

如果您需要更多帮助,请与我联系。

答案 1 :(得分:0)

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

你可以找到JSONKit here

并查看此example