(Ruby) 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.
require '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 + "\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." + "\n";
|