PHP ActiveX
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
$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";
?>