Perl
Perl
JSON: Miscellaneous Operations
See more JSON Examples
Demonstrates a variety of JSON API methods. This example uses the following JSON document:
{
"alphabet": "abcdefghijklmnopqrstuvwxyz",
"sampleData" : {
"pi": 3.14,
"apple": "juicy",
"hungry": true,
"withoutValue": null,
"answer": 42
}
}
Chilkat Perl Downloads
use chilkat();
$success = 0;
$json = chilkat::CkJsonObject->new();
$json->put_EmitCompact(0);
# Assume the file contains the data as shown above..
$success = $json->LoadFile("qa_data/json/sample2.json");
if ($success == 0) {
print $json->lastErrorText() . "\r\n";
exit;
}
# Get the "sampleData" object:
$sampleData = chilkat::CkJsonObject->new();
$json->ObjectOf2("sampleData",$sampleData);
# Demonstrate BoolAt and BoolOf
print "hungry: " . $sampleData->BoolOf("hungry") . "\r\n";
print "hungry: " . $sampleData->BoolAt(2) . "\r\n";
# StringOf returns the value as a string regardless of it's actual type:
print "pi: " . $sampleData->stringOf("pi") . "\r\n";
print "answer: " . $sampleData->stringOf("answer") . "\r\n";
print "withoutValue: " . $sampleData->stringOf("withoutValue") . "\r\n";
print "hungry: " . $sampleData->stringOf("hungry") . "\r\n";
# Demonstrate IsNullOf / IsNullAt
print "withoutValue is null? " . $sampleData->IsNullOf("withoutValue") . "\r\n";
print "withoutValue is null? " . $sampleData->IsNullAt(3) . "\r\n";
print "apple is null? " . $sampleData->IsNullOf("apple") . "\r\n";
print "apple is null? " . $sampleData->IsNullAt(1) . "\r\n";
# IntOf
print "answer: " . $sampleData->IntOf("answer") . "\r\n";
# SetNullAt, SetNullOf
# Set "pi" to null
$success = $sampleData->SetNullAt(0);
# Set "answer" to null
$success = $sampleData->SetNullOf("answer");
# Show the changes:
print $json->emit() . "\r\n";
# Restore pi and apple:
$success = $sampleData->SetNumberAt(0,"3.14");
$success = $sampleData->SetNumberOf("answer","42");
# Show the changes:
print $json->emit() . "\r\n";
# Add a null value named "afterApple" just after "apple"
$success = $sampleData->AddNullAt(2,"afterApple");
# Add a boolean value just after "pi"
$success = $sampleData->AddBoolAt(1,"afterPi",0);
# Examine the changes..
print $json->emit() . "\r\n";