如何解析对象内的 JSON 字典

How to parse JSON dictionary inside object

我得到以下 JSON 对象。我需要获取时间表并在 table 视图中显示值,将它们转换为用户本地时区。我可以转换时间,但是我对如何检索计划对象并在 UITableView 中显示开始和结束日期感到有点困惑。我将不胜感激这里的任何帮助。谢谢 :)。

{
    "zip": "70130 ",
    "phone": "",
    "ticket_link": "http://www.ticketmaster.com/New-Orleans-Convention-Center-tickets-New-Orleans/venue/221251",
    "state": "LA",
    "pcode": 4,
    "city": "New Orleans",
    "id": 15174,
    "tollfreephone": "",
    "schedule": [
      {
        "end_date": "2013-01-30 20:00:00 -0800",
        "start_date": "2013-01-30 13:00:00 -0800"
      },
      {
        "end_date": "2013-01-31 20:00:00 -0800",
        "start_date": "2013-01-31 08:00:00 -0800"
      },
      {
        "end_date": "2013-02-01 20:00:00 -0800",
        "start_date": "2013-02-01 08:00:00 -0800"
      },
      {
        "end_date": "2013-02-02 20:00:00 -0800",
        "start_date": "2013-02-02 08:00:00 -0800"
      },
      {
        "end_date": "2013-02-03 14:00:00 -0800",
        "start_date": "2013-02-03 08:00:00 -0800"
      }
    ],
    "address": "900 Convention Center Blvd",
    "image_url": "http://lorempixel.com/900/500/nightlife/?v=-632944306",
    "description": "",
    "name": "NFL Experience, Driven by GMC",
    "longitude": -90.06418,
    "latitude": 29.943351
  },

假设您列出的 JSON 大块已下载并存储在名为 jsonData.

NSData 变量中
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil; // use an NSError if you want
NSArray *scheduleDates = json[@"schedule"];
for (NSDictionary *dates in scheduleDates) {
    NSString *endDateString = dates[@"end_date"];
    NSString *startDateString = dates[@"start_date"];
}

您可以通过这种方式访问​​日程表和日程表对象中的日期。您可以决定如何处理该信息。此外,这是获取该信息的快速肮脏方式。应该有一些 nil-checking/type-safety/introspection 完成映射 JSON 到对象。