Sample code for 30+ languages & platforms
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

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