Sample code for 30+ languages & platforms
Objective-C

Google Calendar -- Generate Event JSON

See more Google Calendar Examples

Demonstrates how to generate the JSON for an event resource. This code can be used as a template for generating JSON to insert new events.

See https://developers.google.com/google-apps/calendar/v3/reference/events#resource for details about the Calender Event Resource JSON.

Chilkat Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>

//  This example (below) generates the following JSON:
//  Note: Your application code would construct the event JSON using your
//  desired subset of members.  For boolean values, you would pass true or false.
//  For date or date/time values, you would pass the appropriately formatted date/time string.

//  {
//    "kind": "calendar#event",
//    "etag": "some_etag",
//    "id": "string value",
//    "status": "string value",
//    "htmlLink": "string value",
//    "created": "datetime value",
//    "updated": "datetime value",
//    "summary": "string value",
//    "description": "string value",
//    "location": "string value",
//    "colorId": "string value",
//    "creator": {
//      "id": "string value",
//      "email": "string value",
//      "displayName": "string value",
//      "self": true
//    },
//    "organizer": {
//      "id": "string value",
//      "email": "string value",
//      "displayName": "string value",
//      "self": true
//    },
//    "start": {
//      "date": "date value",
//      "dateTime": "datetime value",
//      "timeZone": "string value"
//    },
//    "end": {
//      "date": "date value",
//      "dateTime": "datetime value",
//      "timeZone": "string value"
//    },
//    "endTimeUnspecified": true,
//    "recurrence": [
//      "string value"
//    ],
//    "recurringEventId": "string value",
//    "originalStartTime": {
//      "date": "date value",
//      "dateTime": "datetime value",
//      "timeZone": "string value"
//    },
//    "transparency": "string value",
//    "visibility": "string value",
//    "iCalUID": "string value",
//    "sequence": 1234,
//    "attendees": [
//      {
//        "id": "string value",
//        "email": "string value",
//        "displayName": "string value",
//        "organizer": true,
//        "self": true,
//        "resource": true,
//        "optional": true,
//        "responseStatus": "string value",
//        "comment": "string value",
//        "additionalGuests": 1234
//      },
//      {
//        "id": "string value",
//        "email": "string value",
//        "displayName": "string value",
//        "organizer": true,
//        "self": true,
//        "resource": true,
//        "optional": true,
//        "responseStatus": "string value",
//        "comment": "string value",
//        "additionalGuests": 1234
//      }
//    ],
//    "attendeesOmitted": true,
//    "extendedProperties": {
//      "private": {
//        "someKey": "string value"
//      },
//      "shared": {
//        "someKey": "string value"
//      }
//    },
//    "hangoutLink": "string value",
//    "gadget": {
//      "type": "string value",
//      "title": "string value",
//      "link": "string value",
//      "iconLink": "string value",
//      "width": 1234,
//      "height": 1234,
//      "display": "string value",
//      "preferences": {
//        "someKey": "string value"
//      }
//    },
//    "anyoneCanAddSelf": true,
//    "guestsCanInviteOthers": true,
//    "guestsCanModify": true,
//    "guestsCanSeeOtherGuests": true,
//    "privateCopy": true,
//    "locked": true,
//    "reminders": {
//      "useDefault": true,
//      "overrides": [
//        {
//          "method": "string value",
//          "minutes": 1234
//        }
//      ]
//    },
//    "source": {
//      "url": "string value",
//      "title": "string value"
//    },
//    "attachments": [
//      {
//        "fileUrl": "string value",
//        "title": "string value",
//        "mimeType": "string value",
//        "iconLink": "string value",
//        "fileId": "string value"
//      },
//      {
//        "fileUrl": "string value",
//        "title": "string value",
//        "mimeType": "string value",
//        "iconLink": "string value",
//        "fileId": "string value"
//      }
//    ]
//  }

CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"kind" value: @"calendar#event"];
[json UpdateString: @"etag" value: @"some_etag"];
[json UpdateString: @"id" value: @"string value"];
[json UpdateString: @"status" value: @"string value"];
[json UpdateString: @"htmlLink" value: @"string value"];
[json UpdateString: @"created" value: @"datetime value"];
[json UpdateString: @"updated" value: @"datetime value"];
[json UpdateString: @"summary" value: @"string value"];
[json UpdateString: @"description" value: @"string value"];
[json UpdateString: @"location" value: @"string value"];
[json UpdateString: @"colorId" value: @"string value"];
[json UpdateString: @"creator.id" value: @"string value"];
[json UpdateString: @"creator.email" value: @"string value"];
[json UpdateString: @"creator.displayName" value: @"string value"];
[json UpdateBool: @"creator.self" value: YES];
[json UpdateString: @"organizer.id" value: @"string value"];
[json UpdateString: @"organizer.email" value: @"string value"];
[json UpdateString: @"organizer.displayName" value: @"string value"];
[json UpdateBool: @"organizer.self" value: YES];
[json UpdateString: @"start.date" value: @"date value"];
[json UpdateString: @"start.dateTime" value: @"datetime value"];
[json UpdateString: @"start.timeZone" value: @"string value"];
[json UpdateString: @"end.date" value: @"date value"];
[json UpdateString: @"end.dateTime" value: @"datetime value"];
[json UpdateString: @"end.timeZone" value: @"string value"];
[json UpdateBool: @"endTimeUnspecified" value: YES];
[json UpdateString: @"recurrence[0]" value: @"string value"];
[json UpdateString: @"recurringEventId" value: @"string value"];
[json UpdateString: @"originalStartTime.date" value: @"date value"];
[json UpdateString: @"originalStartTime.dateTime" value: @"datetime value"];
[json UpdateString: @"originalStartTime.timeZone" value: @"string value"];
[json UpdateString: @"transparency" value: @"string value"];
[json UpdateString: @"visibility" value: @"string value"];
[json UpdateString: @"iCalUID" value: @"string value"];
[json UpdateNumber: @"sequence" numericStr: @"1234"];

[json UpdateString: @"attendees[0].id" value: @"string value"];
[json UpdateString: @"attendees[0].email" value: @"string value"];
[json UpdateString: @"attendees[0].displayName" value: @"string value"];

//  Note: We could alternately specify an index using "i", which allows
//  for an application to construct using a loop with a variable..
json.I = [NSNumber numberWithInt:0];
[json UpdateBool: @"attendees[i].organizer" value: YES];
[json UpdateBool: @"attendees[i].self" value: YES];
[json UpdateBool: @"attendees[i].resource" value: YES];
[json UpdateBool: @"attendees[i].optional" value: YES];
[json UpdateString: @"attendees[i].responseStatus" value: @"string value"];
[json UpdateString: @"attendees[i].comment" value: @"string value"];
[json UpdateNumber: @"attendees[i].additionalGuests" numericStr: @"1234"];

json.I = [NSNumber numberWithInt:1];
[json UpdateString: @"attendees[i].id" value: @"string value"];
[json UpdateString: @"attendees[i].email" value: @"string value"];
[json UpdateString: @"attendees[i].displayName" value: @"string value"];

[json UpdateBool: @"attendees[1].organizer" value: YES];
[json UpdateBool: @"attendees[1].self" value: YES];
[json UpdateBool: @"attendees[1].resource" value: YES];
[json UpdateBool: @"attendees[1].optional" value: YES];
[json UpdateString: @"attendees[1].responseStatus" value: @"string value"];
[json UpdateString: @"attendees[1].comment" value: @"string value"];
[json UpdateNumber: @"attendees[1].additionalGuests" numericStr: @"1234"];

[json UpdateBool: @"attendeesOmitted" value: YES];
[json UpdateString: @"extendedProperties.private.someKey" value: @"string value"];
[json UpdateString: @"extendedProperties.shared.someKey" value: @"string value"];
[json UpdateString: @"hangoutLink" value: @"string value"];
[json UpdateString: @"gadget.type" value: @"string value"];
[json UpdateString: @"gadget.title" value: @"string value"];
[json UpdateString: @"gadget.link" value: @"string value"];
[json UpdateString: @"gadget.iconLink" value: @"string value"];
[json UpdateNumber: @"gadget.width" numericStr: @"1234"];
[json UpdateNumber: @"gadget.height" numericStr: @"1234"];
[json UpdateString: @"gadget.display" value: @"string value"];
[json UpdateString: @"gadget.preferences.someKey" value: @"string value"];
[json UpdateBool: @"anyoneCanAddSelf" value: YES];
[json UpdateBool: @"guestsCanInviteOthers" value: YES];
[json UpdateBool: @"guestsCanModify" value: YES];
[json UpdateBool: @"guestsCanSeeOtherGuests" value: YES];
[json UpdateBool: @"privateCopy" value: YES];
[json UpdateBool: @"locked" value: YES];
[json UpdateBool: @"reminders.useDefault" value: YES];
[json UpdateString: @"reminders.overrides[0].method" value: @"string value"];
[json UpdateNumber: @"reminders.overrides[0].minutes" numericStr: @"1234"];
[json UpdateString: @"source.url" value: @"string value"];
[json UpdateString: @"source.title" value: @"string value"];
[json UpdateString: @"attachments[0].fileUrl" value: @"string value"];
[json UpdateString: @"attachments[0].title" value: @"string value"];
[json UpdateString: @"attachments[0].mimeType" value: @"string value"];
[json UpdateString: @"attachments[0].iconLink" value: @"string value"];
[json UpdateString: @"attachments[0].fileId" value: @"string value"];
[json UpdateString: @"attachments[1].fileUrl" value: @"string value"];
[json UpdateString: @"attachments[1].title" value: @"string value"];
[json UpdateString: @"attachments[1].mimeType" value: @"string value"];
[json UpdateString: @"attachments[1].iconLink" value: @"string value"];
[json UpdateString: @"attachments[1].fileId" value: @"string value"];

json.EmitCompact = NO;
NSLog(@"%@",[json Emit]);