這裡有一個小測試/證明,可以很容易地看到一些比較結果。我對 Null 感興趣,因為它沒有被記錄在文件中。
<?php
類別 jsontest 實作 JsonSerializable {
函式 __construct($value) { $this->value = $value; }
函式 jsonSerialize() { return $this->value; }
}
print "空值 -> " . json_encode(new jsontest(null)) . "\n";
print "陣列 -> " . json_encode(new jsontest(array(1,2,3))) . "\n";
print "關聯式陣列 -> " . json_encode(new jsontest(array('a'=>1,'b'=>3,'c'=>4))) . "\n";
print "整數 -> " . json_encode(new jsontest(5)) . "\n";
print "字串 -> " . json_encode(new jsontest('Hello, World!')) . "\n";
print "物件 -> " . json_encode(new jsontest((object) array('a'=>1,'b'=>3,'c'=>4))) . "\n";
?>
輸出結果為
空值 -> null
陣列 -> [1,2,3]
關聯式陣列 -> {"a":1,"b":3,"c":4}
整數 -> 5
字串 -> "Hello, World!"
物件 -> {"a":1,"b":3,"c":4}