JSON. JSON. iOS, ASIHTTPRequest ( , , ), JSON.
, JSON (, TouchJSON) dict JSON. ASIHTTPRequest ( POST):
NSError *error = NULL;
NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dict error:&error];
[request addRequestHeader: @"Content-Type" value: @"application/json"];
[request appendPostData:data];
Update:
, , JSON ( , , , , ):
{
"plays": [
{
"score": 513956,
"game_id": 1,
"game_version": "1.0",
"platform": "Web",
"timestamp": 1313146039,
"elapsed_time": 400,
"hash": "61e51000143566bfd2e3aefa7cb7b2ad",
"level_reached": 5,
"verification": "e56a35341c8dd44fa082ad678cb11593"
}
],
"module": "play",
"action": "save"
}
:
NSMutableDictionary *dict= [[NSMutableDictionary alloc] init];
NSMutableArray *plays = [[NSMutableArray alloc] initWithCapacity:8];
NSMutableDictionary *play= [[NSMutableDictionary alloc] init];
[play setObject:[NSNumber numberWithInt:score] forKey:@"score"];
[play setObject:[NSNumber numberWithInt:game_id] forKey:@"game_id"];
[play setObject:game_version forKey:@"game_version"];
[play setObject:platform forKey:@"platform"];
[play setObject:[NSNumber numberWithInt:timestamp] forKey:@"timestamp"];
[play setObject:[NSNumber numberWithInt:elapsed_time] forKey:@"elapsed_time"];
[play setObject:hash forKey:@"hash"];
[play setObject:[NSNumber numberWithInt:level_reached] forKey:@"level_reached"];
[play setObject:verification forKey:@"verification"];
[plays addObject:play];
[play release];
[dict setObject:plays forKey:@"plays"];
[plays release];
[dict setObject:@"play" forKey:@"module"];
[dict setObject:@"save" forKey:@"action"];
NSError *error = NULL;
NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dict error:&error];
[request addRequestHeader: @"Content-Type" value: @"application/json"];
[request appendPostData:data];