xref: /PHP-5.3/ext/json/tests/pass001.1.phpt (revision 250393f9)
1--TEST--
2JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)
3--INI--
4precision=14
5--SKIPIF--
6<?php
7  if (!extension_loaded('json')) die('skip: json extension not available');
8  if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
9?>
10--FILE--
11<?php
12/* Modified to test unescaped UNICODE as keys and values.
13 * Modified to test numbers with exponents without a decimal point.
14 * Modified to test empty string values.
15 * Modified to test a mix of integers and strings as keys.
16 */
17// Expect warnings about INF.
18ini_set("error_reporting", E_ALL & ~E_WARNING);
19
20$test = "
21[
22    \"JSON Test Pattern pass1\",
23    {\"object with 1 member\":[\"array with 1 element\"]},
24    {},
25    [],
26    -42,
27    true,
28    false,
29    null,
30    {
31        \"integer\": 1234567890,
32        \"real\": -9876.543210,
33        \"e\": 0.123456789e-12,
34        \"E\": 1.234567890E+34,
35        \"\":  23456789012E666,
36        \"E no .\":  4E12,
37        \"zero\": 0,
38        \"one\": 1,
39        \"space\": \" \",
40        \"quote\": \"\\\"\",
41        \"backslash\": \"\\\\\",
42        \"controls\": \"\\b\\f\\n\\r\\t\",
43        \"slash\": \"/ & \\/\",
44        \"alpha\": \"abcdefghijklmnopqrstuvwyz\",
45        \"ALPHA\": \"ABCDEFGHIJKLMNOPQRSTUVWYZ\",
46        \"digit\": \"0123456789\",
47        \"special\": \"`1~!@#$%^&*()_+-={':[,]}|;.</>?\",
48        \"hex\": \"\\u0123\\u4567\\u89AB\\uCDEF\\uabcd\\uef4A\",
49        \"unicode\": \"\\u30d7\\u30ec\\u30b9\\u30ad\\u30c3\\u30c8\",
50        \"プレスキット\": \"プレスキット\",
51        \"empty_string\": \"\",
52        \"true\": true,
53        \"false\": false,
54        \"null\": null,
55        \"array\":[  ],
56        \"object\":{  },
57        \"123\":{\"456\":{\"abc\":{\"789\":\"def\",\"012\":[1,2,\"5\",500],\"ghi\":[1,2,\"five\",50,\"sixty\"]}}},
58        \"address\": \"50 St. James Street\",
59        \"url\": \"http://www.JSON.org/\",
60        \"comment\": \"// /* <!-- --\",
61        \"# -- --> */\": \" \",
62        \" s p a c e d \" :[1,2 , 3
63
64,
65
664 , 5        ,          6           ,7        ],
67        \"compact\": [1,2,3,4,5,6,7],
68        \"jsontext\": \"{\\\"object with 1 member\\\":[\\\"array with 1 element\\\"]}\",
69        \"quotes\": \"&#34; \\u0022 %22 0x22 034 &#x22;\",
70        \"\\/\\\\\\\"\\uCAFE\\uBABE\\uAB98\\uFCDE\\ubcda\\uef4A\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?\"
71: \"A key can be any string\"
72    },
73    0.5 ,98.6
74,
7599.44
76,
77
781066
79
80
81,\"rosebud\"]
82";
83
84echo 'Testing: ' . $test . "\n";
85echo "DECODE: AS OBJECT\n";
86$obj = json_decode($test);
87var_dump($obj);
88echo "DECODE: AS ARRAY\n";
89$arr = json_decode($test, true);
90var_dump($arr);
91
92echo "ENCODE: FROM OBJECT\n";
93$obj_enc = json_encode($obj);
94echo $obj_enc . "\n";
95echo "ENCODE: FROM ARRAY\n";
96$arr_enc = json_encode($arr);
97echo $arr_enc . "\n";
98
99echo "DECODE AGAIN: AS OBJECT\n";
100$obj = json_decode($obj_enc);
101var_dump($obj);
102echo "DECODE AGAIN: AS ARRAY\n";
103$arr = json_decode($arr_enc, true);
104var_dump($arr);
105
106?>
107--EXPECTF--
108Testing:
109[
110    "JSON Test Pattern pass1",
111    {"object with 1 member":["array with 1 element"]},
112    {},
113    [],
114    -42,
115    true,
116    false,
117    null,
118    {
119        "integer": 1234567890,
120        "real": -9876.543210,
121        "e": 0.123456789e-12,
122        "E": 1.234567890E+34,
123        "":  23456789012E666,
124        "E no .":  4E12,
125        "zero": 0,
126        "one": 1,
127        "space": " ",
128        "quote": "\"",
129        "backslash": "\\",
130        "controls": "\b\f\n\r\t",
131        "slash": "/ & \/",
132        "alpha": "abcdefghijklmnopqrstuvwyz",
133        "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
134        "digit": "0123456789",
135        "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
136        "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A",
137        "unicode": "\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8",
138        "プレスキット": "プレスキット",
139        "empty_string": "",
140        "true": true,
141        "false": false,
142        "null": null,
143        "array":[  ],
144        "object":{  },
145        "123":{"456":{"abc":{"789":"def","012":[1,2,"5",500],"ghi":[1,2,"five",50,"sixty"]}}},
146        "address": "50 St. James Street",
147        "url": "http://www.JSON.org/",
148        "comment": "// /* <!-- --",
149        "# -- --> */": " ",
150        " s p a c e d " :[1,2 , 3
151
152,
153
1544 , 5        ,          6           ,7        ],
155        "compact": [1,2,3,4,5,6,7],
156        "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}",
157        "quotes": "&#34; \u0022 %22 0x22 034 &#x22;",
158        "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"
159: "A key can be any string"
160    },
161    0.5 ,98.6
162,
16399.44
164,
165
1661066
167
168
169,"rosebud"]
170
171DECODE: AS OBJECT
172array(14) {
173  [0]=>
174  string(23) "JSON Test Pattern pass1"
175  [1]=>
176  object(stdClass)#%d (1) {
177    ["object with 1 member"]=>
178    array(1) {
179      [0]=>
180      string(20) "array with 1 element"
181    }
182  }
183  [2]=>
184  object(stdClass)#%d (0) {
185  }
186  [3]=>
187  array(0) {
188  }
189  [4]=>
190  int(-42)
191  [5]=>
192  bool(true)
193  [6]=>
194  bool(false)
195  [7]=>
196  NULL
197  [8]=>
198  object(stdClass)#%d (36) {
199    ["integer"]=>
200    int(1234567890)
201    ["real"]=>
202    float(-9876.54321)
203    ["e"]=>
204    float(1.23456789E-13)
205    ["E"]=>
206    float(1.23456789E+34)
207    ["_empty_"]=>
208    float(INF)
209    ["E no ."]=>
210    float(4000000000000)
211    ["zero"]=>
212    int(0)
213    ["one"]=>
214    int(1)
215    ["space"]=>
216    string(1) " "
217    ["quote"]=>
218    string(1) """
219    ["backslash"]=>
220    string(1) "\"
221    ["controls"]=>
222    string(5) "
223
223	"
224    ["slash"]=>
225    string(5) "/ & /"
226    ["alpha"]=>
227    string(25) "abcdefghijklmnopqrstuvwyz"
228    ["ALPHA"]=>
229    string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
230    ["digit"]=>
231    string(10) "0123456789"
232    ["special"]=>
233    string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
234    ["hex"]=>
235    string(17) "ģ䕧覫췯ꯍ"
236    ["unicode"]=>
237    string(18) "プレスキット"
238    ["プレスキット"]=>
239    string(18) "プレスキット"
240    ["empty_string"]=>
241    string(0) ""
242    ["true"]=>
243    bool(true)
244    ["false"]=>
245    bool(false)
246    ["null"]=>
247    NULL
248    ["array"]=>
249    array(0) {
250    }
251    ["object"]=>
252    object(stdClass)#%d (0) {
253    }
254    ["123"]=>
255    object(stdClass)#%d (1) {
256      ["456"]=>
257      object(stdClass)#%d (1) {
258        ["abc"]=>
259        object(stdClass)#%d (3) {
260          ["789"]=>
261          string(3) "def"
262          ["012"]=>
263          array(4) {
264            [0]=>
265            int(1)
266            [1]=>
267            int(2)
268            [2]=>
269            string(1) "5"
270            [3]=>
271            int(500)
272          }
273          ["ghi"]=>
274          array(5) {
275            [0]=>
276            int(1)
277            [1]=>
278            int(2)
279            [2]=>
280            string(4) "five"
281            [3]=>
282            int(50)
283            [4]=>
284            string(5) "sixty"
285          }
286        }
287      }
288    }
289    ["address"]=>
290    string(19) "50 St. James Street"
291    ["url"]=>
292    string(20) "http://www.JSON.org/"
293    ["comment"]=>
294    string(13) "// /* <!-- --"
295    ["# -- --> */"]=>
296    string(1) " "
297    [" s p a c e d "]=>
298    array(7) {
299      [0]=>
300      int(1)
301      [1]=>
302      int(2)
303      [2]=>
304      int(3)
305      [3]=>
306      int(4)
307      [4]=>
308      int(5)
309      [5]=>
310      int(6)
311      [6]=>
312      int(7)
313    }
314    ["compact"]=>
315    array(7) {
316      [0]=>
317      int(1)
318      [1]=>
319      int(2)
320      [2]=>
321      int(3)
322      [3]=>
323      int(4)
324      [4]=>
325      int(5)
326      [5]=>
327      int(6)
328      [6]=>
329      int(7)
330    }
331    ["jsontext"]=>
332    string(49) "{"object with 1 member":["array with 1 element"]}"
333    ["quotes"]=>
334    string(27) "&#34; " %22 0x22 034 &#x22;"
335    ["/\"쫾몾ꮘﳞ볚
336
336	`1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
337    string(23) "A key can be any string"
338  }
339  [9]=>
340  float(0.5)
341  [10]=>
342  float(98.6)
343  [11]=>
344  float(99.44)
345  [12]=>
346  int(1066)
347  [13]=>
348  string(7) "rosebud"
349}
350DECODE: AS ARRAY
351array(14) {
352  [0]=>
353  string(23) "JSON Test Pattern pass1"
354  [1]=>
355  array(1) {
356    ["object with 1 member"]=>
357    array(1) {
358      [0]=>
359      string(20) "array with 1 element"
360    }
361  }
362  [2]=>
363  array(0) {
364  }
365  [3]=>
366  array(0) {
367  }
368  [4]=>
369  int(-42)
370  [5]=>
371  bool(true)
372  [6]=>
373  bool(false)
374  [7]=>
375  NULL
376  [8]=>
377  array(36) {
378    ["integer"]=>
379    int(1234567890)
380    ["real"]=>
381    float(-9876.54321)
382    ["e"]=>
383    float(1.23456789E-13)
384    ["E"]=>
385    float(1.23456789E+34)
386    [""]=>
387    float(INF)
388    ["E no ."]=>
389    float(4000000000000)
390    ["zero"]=>
391    int(0)
392    ["one"]=>
393    int(1)
394    ["space"]=>
395    string(1) " "
396    ["quote"]=>
397    string(1) """
398    ["backslash"]=>
399    string(1) "\"
400    ["controls"]=>
401    string(5) "
402
402	"
403    ["slash"]=>
404    string(5) "/ & /"
405    ["alpha"]=>
406    string(25) "abcdefghijklmnopqrstuvwyz"
407    ["ALPHA"]=>
408    string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
409    ["digit"]=>
410    string(10) "0123456789"
411    ["special"]=>
412    string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
413    ["hex"]=>
414    string(17) "ģ䕧覫췯ꯍ"
415    ["unicode"]=>
416    string(18) "プレスキット"
417    ["プレスキット"]=>
418    string(18) "プレスキット"
419    ["empty_string"]=>
420    string(0) ""
421    ["true"]=>
422    bool(true)
423    ["false"]=>
424    bool(false)
425    ["null"]=>
426    NULL
427    ["array"]=>
428    array(0) {
429    }
430    ["object"]=>
431    array(0) {
432    }
433    [123]=>
434    array(1) {
435      [456]=>
436      array(1) {
437        ["abc"]=>
438        array(3) {
439          [789]=>
440          string(3) "def"
441          ["012"]=>
442          array(4) {
443            [0]=>
444            int(1)
445            [1]=>
446            int(2)
447            [2]=>
448            string(1) "5"
449            [3]=>
450            int(500)
451          }
452          ["ghi"]=>
453          array(5) {
454            [0]=>
455            int(1)
456            [1]=>
457            int(2)
458            [2]=>
459            string(4) "five"
460            [3]=>
461            int(50)
462            [4]=>
463            string(5) "sixty"
464          }
465        }
466      }
467    }
468    ["address"]=>
469    string(19) "50 St. James Street"
470    ["url"]=>
471    string(20) "http://www.JSON.org/"
472    ["comment"]=>
473    string(13) "// /* <!-- --"
474    ["# -- --> */"]=>
475    string(1) " "
476    [" s p a c e d "]=>
477    array(7) {
478      [0]=>
479      int(1)
480      [1]=>
481      int(2)
482      [2]=>
483      int(3)
484      [3]=>
485      int(4)
486      [4]=>
487      int(5)
488      [5]=>
489      int(6)
490      [6]=>
491      int(7)
492    }
493    ["compact"]=>
494    array(7) {
495      [0]=>
496      int(1)
497      [1]=>
498      int(2)
499      [2]=>
500      int(3)
501      [3]=>
502      int(4)
503      [4]=>
504      int(5)
505      [5]=>
506      int(6)
507      [6]=>
508      int(7)
509    }
510    ["jsontext"]=>
511    string(49) "{"object with 1 member":["array with 1 element"]}"
512    ["quotes"]=>
513    string(27) "&#34; " %22 0x22 034 &#x22;"
514    ["/\"쫾몾ꮘﳞ볚
515
515	`1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
516    string(23) "A key can be any string"
517  }
518  [9]=>
519  float(0.5)
520  [10]=>
521  float(98.6)
522  [11]=>
523  float(99.44)
524  [12]=>
525  int(1066)
526  [13]=>
527  string(7) "rosebud"
528}
529ENCODE: FROM OBJECT
530["JSON Test Pattern pass1",{"object with 1 member":["array with 1 element"]},{},[],-42,true,false,null,{"integer":1234567890,"real":-9876.54321,"e":1.23456789e-13,"E":1.23456789e+34,"_empty_":0,"E no .":4000000000000,"zero":0,"one":1,"space":" ","quote":"\"","backslash":"\\","controls":"\b\f\n\r\t","slash":"\/ & \/","alpha":"abcdefghijklmnopqrstuvwyz","ALPHA":"ABCDEFGHIJKLMNOPQRSTUVWYZ","digit":"0123456789","special":"`1~!@#$%^&*()_+-={':[,]}|;.<\/>?","hex":"\u0123\u4567\u89ab\ucdef\uabcd\uef4a","unicode":"\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8","\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8":"\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8","empty_string":"","true":true,"false":false,"null":null,"array":[],"object":{},"123":{"456":{"abc":{"789":"def","012":[1,2,"5",500],"ghi":[1,2,"five",50,"sixty"]}}},"address":"50 St. James Street","url":"http:\/\/www.JSON.org\/","comment":"\/\/ \/* <!-- --","# -- --> *\/":" "," s p a c e d ":[1,2,3,4,5,6,7],"compact":[1,2,3,4,5,6,7],"jsontext":"{\"object with 1 member\":[\"array with 1 element\"]}","quotes":"&#34; \" %22 0x22 034 &#x22;","\/\\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',.\/<>?":"A key can be any string"},0.5,98.6,99.44,1066,"rosebud"]
531ENCODE: FROM ARRAY
532["JSON Test Pattern pass1",{"object with 1 member":["array with 1 element"]},[],[],-42,true,false,null,{"integer":1234567890,"real":-9876.54321,"e":1.23456789e-13,"E":1.23456789e+34,"":0,"E no .":4000000000000,"zero":0,"one":1,"space":" ","quote":"\"","backslash":"\\","controls":"\b\f\n\r\t","slash":"\/ & \/","alpha":"abcdefghijklmnopqrstuvwyz","ALPHA":"ABCDEFGHIJKLMNOPQRSTUVWYZ","digit":"0123456789","special":"`1~!@#$%^&*()_+-={':[,]}|;.<\/>?","hex":"\u0123\u4567\u89ab\ucdef\uabcd\uef4a","unicode":"\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8","\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8":"\u30d7\u30ec\u30b9\u30ad\u30c3\u30c8","empty_string":"","true":true,"false":false,"null":null,"array":[],"object":[],"123":{"456":{"abc":{"789":"def","012":[1,2,"5",500],"ghi":[1,2,"five",50,"sixty"]}}},"address":"50 St. James Street","url":"http:\/\/www.JSON.org\/","comment":"\/\/ \/* <!-- --","# -- --> *\/":" "," s p a c e d ":[1,2,3,4,5,6,7],"compact":[1,2,3,4,5,6,7],"jsontext":"{\"object with 1 member\":[\"array with 1 element\"]}","quotes":"&#34; \" %22 0x22 034 &#x22;","\/\\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',.\/<>?":"A key can be any string"},0.5,98.6,99.44,1066,"rosebud"]
533DECODE AGAIN: AS OBJECT
534array(14) {
535  [0]=>
536  string(23) "JSON Test Pattern pass1"
537  [1]=>
538  object(stdClass)#%d (1) {
539    ["object with 1 member"]=>
540    array(1) {
541      [0]=>
542      string(20) "array with 1 element"
543    }
544  }
545  [2]=>
546  object(stdClass)#%d (0) {
547  }
548  [3]=>
549  array(0) {
550  }
551  [4]=>
552  int(-42)
553  [5]=>
554  bool(true)
555  [6]=>
556  bool(false)
557  [7]=>
558  NULL
559  [8]=>
560  object(stdClass)#%d (36) {
561    ["integer"]=>
562    int(1234567890)
563    ["real"]=>
564    float(-9876.54321)
565    ["e"]=>
566    float(1.23456789E-13)
567    ["E"]=>
568    float(1.23456789E+34)
569    ["_empty_"]=>
570    int(0)
571    ["E no ."]=>
572    %s(4000000000000)
573    ["zero"]=>
574    int(0)
575    ["one"]=>
576    int(1)
577    ["space"]=>
578    string(1) " "
579    ["quote"]=>
580    string(1) """
581    ["backslash"]=>
582    string(1) "\"
583    ["controls"]=>
584    string(5) "
585
585	"
586    ["slash"]=>
587    string(5) "/ & /"
588    ["alpha"]=>
589    string(25) "abcdefghijklmnopqrstuvwyz"
590    ["ALPHA"]=>
591    string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
592    ["digit"]=>
593    string(10) "0123456789"
594    ["special"]=>
595    string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
596    ["hex"]=>
597    string(17) "ģ䕧覫췯ꯍ"
598    ["unicode"]=>
599    string(18) "プレスキット"
600    ["プレスキット"]=>
601    string(18) "プレスキット"
602    ["empty_string"]=>
603    string(0) ""
604    ["true"]=>
605    bool(true)
606    ["false"]=>
607    bool(false)
608    ["null"]=>
609    NULL
610    ["array"]=>
611    array(0) {
612    }
613    ["object"]=>
614    object(stdClass)#%d (0) {
615    }
616    ["123"]=>
617    object(stdClass)#%d (1) {
618      ["456"]=>
619      object(stdClass)#%d (1) {
620        ["abc"]=>
621        object(stdClass)#%d (3) {
622          ["789"]=>
623          string(3) "def"
624          ["012"]=>
625          array(4) {
626            [0]=>
627            int(1)
628            [1]=>
629            int(2)
630            [2]=>
631            string(1) "5"
632            [3]=>
633            int(500)
634          }
635          ["ghi"]=>
636          array(5) {
637            [0]=>
638            int(1)
639            [1]=>
640            int(2)
641            [2]=>
642            string(4) "five"
643            [3]=>
644            int(50)
645            [4]=>
646            string(5) "sixty"
647          }
648        }
649      }
650    }
651    ["address"]=>
652    string(19) "50 St. James Street"
653    ["url"]=>
654    string(20) "http://www.JSON.org/"
655    ["comment"]=>
656    string(13) "// /* <!-- --"
657    ["# -- --> */"]=>
658    string(1) " "
659    [" s p a c e d "]=>
660    array(7) {
661      [0]=>
662      int(1)
663      [1]=>
664      int(2)
665      [2]=>
666      int(3)
667      [3]=>
668      int(4)
669      [4]=>
670      int(5)
671      [5]=>
672      int(6)
673      [6]=>
674      int(7)
675    }
676    ["compact"]=>
677    array(7) {
678      [0]=>
679      int(1)
680      [1]=>
681      int(2)
682      [2]=>
683      int(3)
684      [3]=>
685      int(4)
686      [4]=>
687      int(5)
688      [5]=>
689      int(6)
690      [6]=>
691      int(7)
692    }
693    ["jsontext"]=>
694    string(49) "{"object with 1 member":["array with 1 element"]}"
695    ["quotes"]=>
696    string(27) "&#34; " %22 0x22 034 &#x22;"
697    ["/\"쫾몾ꮘﳞ볚
698
698	`1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
699    string(23) "A key can be any string"
700  }
701  [9]=>
702  float(0.5)
703  [10]=>
704  float(98.6)
705  [11]=>
706  float(99.44)
707  [12]=>
708  int(1066)
709  [13]=>
710  string(7) "rosebud"
711}
712DECODE AGAIN: AS ARRAY
713array(14) {
714  [0]=>
715  string(23) "JSON Test Pattern pass1"
716  [1]=>
717  array(1) {
718    ["object with 1 member"]=>
719    array(1) {
720      [0]=>
721      string(20) "array with 1 element"
722    }
723  }
724  [2]=>
725  array(0) {
726  }
727  [3]=>
728  array(0) {
729  }
730  [4]=>
731  int(-42)
732  [5]=>
733  bool(true)
734  [6]=>
735  bool(false)
736  [7]=>
737  NULL
738  [8]=>
739  array(36) {
740    ["integer"]=>
741    int(1234567890)
742    ["real"]=>
743    float(-9876.54321)
744    ["e"]=>
745    float(1.23456789E-13)
746    ["E"]=>
747    float(1.23456789E+34)
748    [""]=>
749    int(0)
750    ["E no ."]=>
751    %s(4000000000000)
752    ["zero"]=>
753    int(0)
754    ["one"]=>
755    int(1)
756    ["space"]=>
757    string(1) " "
758    ["quote"]=>
759    string(1) """
760    ["backslash"]=>
761    string(1) "\"
762    ["controls"]=>
763    string(5) "
764
764	"
765    ["slash"]=>
766    string(5) "/ & /"
767    ["alpha"]=>
768    string(25) "abcdefghijklmnopqrstuvwyz"
769    ["ALPHA"]=>
770    string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
771    ["digit"]=>
772    string(10) "0123456789"
773    ["special"]=>
774    string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
775    ["hex"]=>
776    string(17) "ģ䕧覫췯ꯍ"
777    ["unicode"]=>
778    string(18) "プレスキット"
779    ["プレスキット"]=>
780    string(18) "プレスキット"
781    ["empty_string"]=>
782    string(0) ""
783    ["true"]=>
784    bool(true)
785    ["false"]=>
786    bool(false)
787    ["null"]=>
788    NULL
789    ["array"]=>
790    array(0) {
791    }
792    ["object"]=>
793    array(0) {
794    }
795    [123]=>
796    array(1) {
797      [456]=>
798      array(1) {
799        ["abc"]=>
800        array(3) {
801          [789]=>
802          string(3) "def"
803          ["012"]=>
804          array(4) {
805            [0]=>
806            int(1)
807            [1]=>
808            int(2)
809            [2]=>
810            string(1) "5"
811            [3]=>
812            int(500)
813          }
814          ["ghi"]=>
815          array(5) {
816            [0]=>
817            int(1)
818            [1]=>
819            int(2)
820            [2]=>
821            string(4) "five"
822            [3]=>
823            int(50)
824            [4]=>
825            string(5) "sixty"
826          }
827        }
828      }
829    }
830    ["address"]=>
831    string(19) "50 St. James Street"
832    ["url"]=>
833    string(20) "http://www.JSON.org/"
834    ["comment"]=>
835    string(13) "// /* <!-- --"
836    ["# -- --> */"]=>
837    string(1) " "
838    [" s p a c e d "]=>
839    array(7) {
840      [0]=>
841      int(1)
842      [1]=>
843      int(2)
844      [2]=>
845      int(3)
846      [3]=>
847      int(4)
848      [4]=>
849      int(5)
850      [5]=>
851      int(6)
852      [6]=>
853      int(7)
854    }
855    ["compact"]=>
856    array(7) {
857      [0]=>
858      int(1)
859      [1]=>
860      int(2)
861      [2]=>
862      int(3)
863      [3]=>
864      int(4)
865      [4]=>
866      int(5)
867      [5]=>
868      int(6)
869      [6]=>
870      int(7)
871    }
872    ["jsontext"]=>
873    string(49) "{"object with 1 member":["array with 1 element"]}"
874    ["quotes"]=>
875    string(27) "&#34; " %22 0x22 034 &#x22;"
876    ["/\"쫾몾ꮘﳞ볚
877
877	`1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
878    string(23) "A key can be any string"
879  }
880  [9]=>
881  float(0.5)
882  [10]=>
883  float(98.6)
884  [11]=>
885  float(99.44)
886  [12]=>
887  int(1066)
888  [13]=>
889  string(7) "rosebud"
890}
891