Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

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

Perl
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";