<?php
class rapidjson {
private $data = '';
public function StartObject() {$this->data .= '{';}
public function EndObject() {$this->data .= '}';}
public function BeginArray() {$this->data .= '[';}
public function EndArray() {$this->data .= ']';}
public function Int
($value) {$this->data .= strval(intval($value)) . ', ';} public function Key($value) {$this->data .= '"' . addslashes($value) . '": ';} public function String
($value){$this->data .= '"' . addslashes($value) . '", ';} public function Bool($value) {$this->data .= '"' . ($value ? 'true' : 'false') . '", ';}
public function __toString() {return $this->data;}
}
$writer = new rapidjson();
$writer->StartObject();
$writer->String("value");
$writer->Key("array_key"); $writer->BeginArray();
$writer->Int(43);
$writer->String("44");
$writer->Bool(true);
$writer->EndArray();
$writer->EndObject();
echo $writer;
PD9waHAKCmNsYXNzIHJhcGlkanNvbiB7CiAgICBwcml2YXRlICRkYXRhID0gJyc7CiAgICBwdWJsaWMgZnVuY3Rpb24gU3RhcnRPYmplY3QoKSB7JHRoaXMtPmRhdGEgLj0gJ3snO30KICAgIHB1YmxpYyBmdW5jdGlvbiBFbmRPYmplY3QoKSAgIHskdGhpcy0+ZGF0YSAuPSAnfSc7fQogICAgcHVibGljIGZ1bmN0aW9uIEJlZ2luQXJyYXkoKSAgeyR0aGlzLT5kYXRhIC49ICdbJzt9CiAgICBwdWJsaWMgZnVuY3Rpb24gRW5kQXJyYXkoKSAgICB7JHRoaXMtPmRhdGEgLj0gJ10nO30KICAgIHB1YmxpYyBmdW5jdGlvbiBJbnQoJHZhbHVlKSAgIHskdGhpcy0+ZGF0YSAuPSBzdHJ2YWwoaW50dmFsKCR2YWx1ZSkpIC4gJywgJzt9CiAgICBwdWJsaWMgZnVuY3Rpb24gS2V5KCR2YWx1ZSkgICB7JHRoaXMtPmRhdGEgLj0gJyInIC4gYWRkc2xhc2hlcygkdmFsdWUpIC4gJyI6ICc7fQogICAgcHVibGljIGZ1bmN0aW9uIFN0cmluZygkdmFsdWUpeyR0aGlzLT5kYXRhIC49ICciJyAuIGFkZHNsYXNoZXMoJHZhbHVlKSAuICciLCAnO30KICAgIHB1YmxpYyBmdW5jdGlvbiBCb29sKCR2YWx1ZSkgIHskdGhpcy0+ZGF0YSAuPSAnIicgLiAoJHZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJykgLiAnIiwgJzt9CiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpICB7cmV0dXJuICR0aGlzLT5kYXRhO30KfQoKJHdyaXRlciA9IG5ldyByYXBpZGpzb24oKTsKCiR3cml0ZXItPlN0YXJ0T2JqZWN0KCk7Cgokd3JpdGVyLT5LZXkoImtleSIpOwokd3JpdGVyLT5TdHJpbmcoInZhbHVlIik7Cgokd3JpdGVyLT5LZXkoImFycmF5X2tleSIpOwokd3JpdGVyLT5CZWdpbkFycmF5KCk7Cgokd3JpdGVyLT5JbnQoNDMpOwokd3JpdGVyLT5TdHJpbmcoIjQ0Iik7CiR3cml0ZXItPkJvb2wodHJ1ZSk7Cgokd3JpdGVyLT5FbmRBcnJheSgpOwoKJHdyaXRlci0+RW5kT2JqZWN0KCk7CgplY2hvICR3cml0ZXI7Cg==