(Perl) Read/Write JSON with Binary Data such as JPEG Files
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.
use chilkat();
# First load a small JPG file..
$bd = chilkat::CkBinData->new();
$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.
$json1 = chilkat::CkJsonObject->new();
$json1->UpdateBd("starfish","base64",$bd);
$jsonStr = $json1->emit();
print $jsonStr . "\r\n";
# 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..
$json2 = chilkat::CkJsonObject->new();
$json2->Load($jsonStr);
# Get the binary bytes.
$bd2 = chilkat::CkBinData->new();
$json2->BytesOf("starfish","base64",$bd2);
# Save to a file.
$success = $bd2->WriteFile("qa_output/starfish20.jpg");
print "Success." . "\r\n";
|