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

?>