Objective-C
Objective-C
Read/Write JSON with Binary Data such as JPEG Files
See more JSON Examples
Demonstrates how binary files could be stored in JSON in base64 format. Creates JSON containing the contents of a JPG file, and then reads the JSON to extract the JPEG image.Chilkat Objective-C Downloads
#import <CkoBinData.h>
#import <CkoJsonObject.h>
#import <NSString.h>
BOOL success = NO;
// First load a small JPG file..
CkoBinData *bd = [[CkoBinData alloc] init];
success = [bd LoadFile: @"qa_data/jpg/starfish20.jpg"];
// Assume success, but your code should check for success..
// Create JSON containing the binary data in base64 format.
CkoJsonObject *json1 = [[CkoJsonObject alloc] init];
[json1 UpdateBd: @"starfish" encoding: @"base64" bd: bd];
NSString *jsonStr = [json1 Emit];
NSLog(@"%@",jsonStr);
// Here's the output:
// {"starfish":"/9j/4AAQSkZJRgA ... cN2iuLFsCEbDGxQkI6RO/n//2Q=="}
// Let's create a new JSON object, load it with the above JSON, and extract the JPG image..
CkoJsonObject *json2 = [[CkoJsonObject alloc] init];
[json2 Load: jsonStr];
// Get the binary bytes.
CkoBinData *bd2 = [[CkoBinData alloc] init];
[json2 BytesOf: @"starfish" encoding: @"base64" bd: bd2];
// Save to a file.
success = [bd2 WriteFile: @"qa_output/starfish20.jpg"];
NSLog(@"%@",@"Success.");