user1871889
user1871889

Reputation: 31

NSJSON Serialization

I am new to NSJSONSerialization. Here's my browser output:

{
  "appointment": [
    {
      "w1": "Mallya Hospital",
      "w2": "Nagarjuna Hospital",
      "w3": "Mallige     Hospital",
      "w4": "Mallya Hospital",
      "t1": [
        "08:00 - 08:25",
        "08:25 - 08:50",
        "08:50 - 09:15",
        "09:15 - 09:40"
      ],
      "t2": [
        "14:00 - 14:05",
        "14:05 - 14:10",
        "14:10 - 14:15",
        "14:15 - 14:20",
        "14:20 - 14:25",
        "14:25 - 14:30",
        "14:30 - 14:35",
        "14:35 - 14:40",
        "14:40 - 14:45",
        "14:45 - 14:50",
        "14:50 - 14:55",
        "14:55 - 15:00",
        "15:00 - 15:05",
        "15:05 - 15:10",
        "15:10 - 15:15",
        "15:15 - 15:20",
        "15:20 - 15:25",
        "15:25 - 15:30",
        "15:30 - 15:35",
        "15:35 - 15:40",
        "15:40 - 15:45",
        "15:45 - 15:50",
        "15:50 - 15:55"
      ],
      "t3": [
        "14:00 - 14:35",
        "14:35 - 15:10",
        "15:10 - 15:45"
      ],
      "t4": [
        "16:30 - 17:15",
        "17:15 - 18:00"
      ],
      "tp1": "25",
      "tp2": "5",
      "tp3": "35",
      "tp4": "45",
      "ts1": "8:00 - 10:00",
      "ts2": "14:00 - 16:00",
      "ts3": "14:00 - 16:00",
      "ts4": "16:30 - 18:30",
      "offdays": "4-6"
    }
  ]
}

I need to pass the timings into labels and hospital names into another. How can I use NSJSONSerialization to get timings given above?

Upvotes: 3

Views: 3002

Answers (1)

John
John

Reputation: 2755

First you must convert the string/file as data that can be deserialized

NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];

To visualize how your data is going to be organized in the JSON object, a quick beautifier will show that your data follows the structure Dictionary->Array (1 element)->Dictionaries->Arrays/Values

For example, to access the times specifically:

NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &e]; //Options can be simply 0

NSArray *t1 = jsonObject[@"appointment"][0][@"t1"];

Upvotes: 1

Related Questions