Sample code for 30+ languages & platforms
PHP ActiveX

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 PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$json = new COM("Chilkat.JsonObject");
$json->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 . "\n";
    exit;
}

// Get the "sampleData" object:
$sampleData = new COM("Chilkat.JsonObject");
$json->ObjectOf2('sampleData',$sampleData);

// Demonstrate BoolAt and BoolOf
print 'hungry: ' . $sampleData->BoolOf('hungry') . "\n";
print 'hungry: ' . $sampleData->BoolAt(2) . "\n";

// StringOf returns the value as a string regardless of it's actual type:
print 'pi: ' . $sampleData->stringOf('pi') . "\n";
print 'answer: ' . $sampleData->stringOf('answer') . "\n";
print 'withoutValue: ' . $sampleData->stringOf('withoutValue') . "\n";
print 'hungry: ' . $sampleData->stringOf('hungry') . "\n";

// Demonstrate IsNullOf / IsNullAt
print 'withoutValue is null? ' . $sampleData->IsNullOf('withoutValue') . "\n";
print 'withoutValue is null? ' . $sampleData->IsNullAt(3) . "\n";
print 'apple is null? ' . $sampleData->IsNullOf('apple') . "\n";
print 'apple is null? ' . $sampleData->IsNullAt(1) . "\n";

// IntOf
print 'answer: ' . $sampleData->IntOf('answer') . "\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() . "\n";

// Restore pi and apple:
$success = $sampleData->SetNumberAt(0,'3.14');
$success = $sampleData->SetNumberOf('answer','42');

// Show the changes:
print $json->emit() . "\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() . "\n";

?>