/hphp/test/zend/bad/ext/json/tests/pass001.1.php
PHP | 96 lines | 80 code | 10 blank | 6 comment | 0 complexity | f7a7de01940dbf5124cc2a0a5d51fcea MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?php
- /* Modified to test unescaped UNICODE as keys and values.
- * Modified to test numbers with exponents without a decimal point.
- * Modified to test empty string values.
- * Modified to test a mix of integers and strings as keys.
- */
- // Expect warnings about INF.
- ini_set("error_reporting", E_ALL & ~E_WARNING);
- $test = "
- [
- \"JSON Test Pattern pass1\",
- {\"object with 1 member\":[\"array with 1 element\"]},
- {},
- [],
- -42,
- true,
- false,
- null,
- {
- \"integer\": 1234567890,
- \"real\": -9876.543210,
- \"e\": 0.123456789e-12,
- \"E\": 1.234567890E+34,
- \"\": 23456789012E666,
- \"E no .\": 4E12,
- \"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\",
- \"プレスキット\": \"プレスキット\",
- \"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\": \"" \\u0022 %22 0x22 034 "\",
- \"\\/\\\\\\\"\\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\"]
- ";
- echo 'Testing: ' . $test . "\n";
- echo "DECODE: AS OBJECT\n";
- $obj = json_decode($test);
- var_dump($obj);
- echo "DECODE: AS ARRAY\n";
- $arr = json_decode($test, true);
- var_dump($arr);
- echo "ENCODE: FROM OBJECT\n";
- $obj_enc = json_encode($obj, JSON_PARTIAL_OUTPUT_ON_ERROR);
- echo $obj_enc . "\n";
- echo "ENCODE: FROM ARRAY\n";
- $arr_enc = json_encode($arr, JSON_PARTIAL_OUTPUT_ON_ERROR);
- echo $arr_enc . "\n";
- echo "DECODE AGAIN: AS OBJECT\n";
- $obj = json_decode($obj_enc);
- var_dump($obj);
- echo "DECODE AGAIN: AS ARRAY\n";
- $arr = json_decode($arr_enc, true);
- var_dump($arr);
- ?>