Annotation of embedaddon/php/ext/json/tests/pass003.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: JSON (http://www.crockford.com/JSON/JSON_checker/test/pass3.json)
3: --SKIPIF--
4: <?php
5: if (!extension_loaded('json')) die('skip: json extension not available');
6: ?>
7: --FILE--
8: <?php
9:
10: $test = '
11: {
12: "JSON Test Pattern pass3": {
13: "The outermost value": "must be an object or array.",
14: "In this test": "It is an object."
15: }
16: }
17: ';
18:
19: echo 'Testing: ' . $test . "\n";
20: echo "DECODE: AS OBJECT\n";
21: $obj = json_decode($test);
22: var_dump($obj);
23: echo "DECODE: AS ARRAY\n";
24: $arr = json_decode($test, true);
25: var_dump($arr);
26:
27: echo "ENCODE: FROM OBJECT\n";
28: $obj_enc = json_encode($obj);
29: echo $obj_enc . "\n";
30: echo "ENCODE: FROM ARRAY\n";
31: $arr_enc = json_encode($arr);
32: echo $arr_enc . "\n";
33:
34: echo "DECODE AGAIN: AS OBJECT\n";
35: $obj = json_decode($obj_enc);
36: var_dump($obj);
37: echo "DECODE AGAIN: AS ARRAY\n";
38: $arr = json_decode($arr_enc, true);
39: var_dump($arr);
40:
41: ?>
42: --EXPECT--
43: Testing:
44: {
45: "JSON Test Pattern pass3": {
46: "The outermost value": "must be an object or array.",
47: "In this test": "It is an object."
48: }
49: }
50:
51: DECODE: AS OBJECT
52: object(stdClass)#1 (1) {
53: ["JSON Test Pattern pass3"]=>
54: object(stdClass)#2 (2) {
55: ["The outermost value"]=>
56: string(27) "must be an object or array."
57: ["In this test"]=>
58: string(16) "It is an object."
59: }
60: }
61: DECODE: AS ARRAY
62: array(1) {
63: ["JSON Test Pattern pass3"]=>
64: array(2) {
65: ["The outermost value"]=>
66: string(27) "must be an object or array."
67: ["In this test"]=>
68: string(16) "It is an object."
69: }
70: }
71: ENCODE: FROM OBJECT
72: {"JSON Test Pattern pass3":{"The outermost value":"must be an object or array.","In this test":"It is an object."}}
73: ENCODE: FROM ARRAY
74: {"JSON Test Pattern pass3":{"The outermost value":"must be an object or array.","In this test":"It is an object."}}
75: DECODE AGAIN: AS OBJECT
76: object(stdClass)#3 (1) {
77: ["JSON Test Pattern pass3"]=>
78: object(stdClass)#4 (2) {
79: ["The outermost value"]=>
80: string(27) "must be an object or array."
81: ["In this test"]=>
82: string(16) "It is an object."
83: }
84: }
85: DECODE AGAIN: AS ARRAY
86: array(1) {
87: ["JSON Test Pattern pass3"]=>
88: array(2) {
89: ["The outermost value"]=>
90: string(27) "must be an object or array."
91: ["In this test"]=>
92: string(16) "It is an object."
93: }
94: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>