Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
# First load a small JPG file..
set bd [new_CkBinData]
set success [CkBinData_LoadFile $bd "qa_data/jpg/starfish20.jpg"]
# Assume success, but your code should check for success..
# Create JSON containing the binary data in base64 format.
set json1 [new_CkJsonObject]
CkJsonObject_UpdateBd $json1 "starfish" "base64" $bd
set jsonStr [CkJsonObject_emit $json1]
puts "$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..
set json2 [new_CkJsonObject]
CkJsonObject_Load $json2 $jsonStr
# Get the binary bytes.
set bd2 [new_CkBinData]
CkJsonObject_BytesOf $json2 "starfish" "base64" $bd2
# Save to a file.
set success [CkBinData_WriteFile $bd2 "qa_output/starfish20.jpg"]
puts "Success."
delete_CkBinData $bd
delete_CkJsonObject $json1
delete_CkJsonObject $json2
delete_CkBinData $bd2