pass001.phpt 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. --TEST--
  2. JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)
  3. --INI--
  4. precision=14
  5. --SKIPIF--
  6. <?php
  7. if (!extension_loaded('json')) die('skip');
  8. ?>
  9. --FILE--
  10. <?php
  11. // Expect warnings about INF.
  12. ini_set("error_reporting", E_ALL & ~E_WARNING);
  13. $test = "
  14. [
  15. \"JSON Test Pattern pass1\",
  16. {\"object with 1 member\":[\"array with 1 element\"]},
  17. {},
  18. [],
  19. -42,
  20. true,
  21. false,
  22. null,
  23. {
  24. \"integer\": 1234567890,
  25. \"real\": -9876.543210,
  26. \"e\": 0.123456789e-12,
  27. \"E\": 1.234567890E+34,
  28. \"\": 23456789012E666,
  29. \"zero\": 0,
  30. \"one\": 1,
  31. \"space\": \" \",
  32. \"quote\": \"\\\"\",
  33. \"backslash\": \"\\\\\",
  34. \"controls\": \"\\b\\f\\n\\r\\t\",
  35. \"slash\": \"/ & \\/\",
  36. \"alpha\": \"abcdefghijklmnopqrstuvwyz\",
  37. \"ALPHA\": \"ABCDEFGHIJKLMNOPQRSTUVWYZ\",
  38. \"digit\": \"0123456789\",
  39. \"special\": \"`1~!@#$%^&*()_+-={':[,]}|;.</>?\",
  40. \"hex\": \"\\u0123\\u4567\\u89AB\\uCDEF\\uabcd\\uef4A\",
  41. \"true\": true,
  42. \"false\": false,
  43. \"null\": null,
  44. \"array\":[ ],
  45. \"object\":{ },
  46. \"address\": \"50 St. James Street\",
  47. \"url\": \"http://www.JSON.org/\",
  48. \"comment\": \"// /* <!-- --\",
  49. \"# -- --> */\": \" \",
  50. \" s p a c e d \" :[1,2 , 3
  51. ,
  52. 4 , 5 , 6 ,7 ],
  53. \"compact\": [1,2,3,4,5,6,7],
  54. \"jsontext\": \"{\\\"object with 1 member\\\":[\\\"array with 1 element\\\"]}\",
  55. \"quotes\": \"&#34; \\u0022 %22 0x22 034 &#x22;\",
  56. \"\\/\\\\\\\"\\uCAFE\\uBABE\\uAB98\\uFCDE\\ubcda\\uef4A\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?\"
  57. : \"A key can be any string\"
  58. },
  59. 0.5 ,98.6
  60. ,
  61. 99.44
  62. ,
  63. 1066
  64. ,\"rosebud\"]
  65. ";
  66. echo 'Testing: ' . $test . "\n";
  67. echo "DECODE: AS OBJECT\n";
  68. $obj = json_decode($test);
  69. var_dump($obj);
  70. echo "DECODE: AS ARRAY\n";
  71. $arr = json_decode($test, true);
  72. var_dump($arr);
  73. echo "ENCODE: FROM OBJECT\n";
  74. $obj_enc = json_encode($obj, JSON_PARTIAL_OUTPUT_ON_ERROR);
  75. echo $obj_enc . "\n";
  76. echo "ENCODE: FROM ARRAY\n";
  77. $arr_enc = json_encode($arr, JSON_PARTIAL_OUTPUT_ON_ERROR);
  78. echo $arr_enc . "\n";
  79. echo "DECODE AGAIN: AS OBJECT\n";
  80. $obj = json_decode($obj_enc);
  81. var_dump($obj);
  82. echo "DECODE AGAIN: AS ARRAY\n";
  83. $arr = json_decode($arr_enc, true);
  84. var_dump($arr);
  85. ?>
  86. --EXPECT--
  87. Testing:
  88. [
  89. "JSON Test Pattern pass1",
  90. {"object with 1 member":["array with 1 element"]},
  91. {},
  92. [],
  93. -42,
  94. true,
  95. false,
  96. null,
  97. {
  98. "integer": 1234567890,
  99. "real": -9876.543210,
  100. "e": 0.123456789e-12,
  101. "E": 1.234567890E+34,
  102. "": 23456789012E666,
  103. "zero": 0,
  104. "one": 1,
  105. "space": " ",
  106. "quote": "\"",
  107. "backslash": "\\",
  108. "controls": "\b\f\n\r\t",
  109. "slash": "/ & \/",
  110. "alpha": "abcdefghijklmnopqrstuvwyz",
  111. "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
  112. "digit": "0123456789",
  113. "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
  114. "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A",
  115. "true": true,
  116. "false": false,
  117. "null": null,
  118. "array":[ ],
  119. "object":{ },
  120. "address": "50 St. James Street",
  121. "url": "http://www.JSON.org/",
  122. "comment": "// /* <!-- --",
  123. "# -- --> */": " ",
  124. " s p a c e d " :[1,2 , 3
  125. ,
  126. 4 , 5 , 6 ,7 ],
  127. "compact": [1,2,3,4,5,6,7],
  128. "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}",
  129. "quotes": "&#34; \u0022 %22 0x22 034 &#x22;",
  130. "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"
  131. : "A key can be any string"
  132. },
  133. 0.5 ,98.6
  134. ,
  135. 99.44
  136. ,
  137. 1066
  138. ,"rosebud"]
  139. DECODE: AS OBJECT
  140. array(14) {
  141. [0]=>
  142. string(23) "JSON Test Pattern pass1"
  143. [1]=>
  144. object(stdClass)#1 (1) {
  145. ["object with 1 member"]=>
  146. array(1) {
  147. [0]=>
  148. string(20) "array with 1 element"
  149. }
  150. }
  151. [2]=>
  152. object(stdClass)#2 (0) {
  153. }
  154. [3]=>
  155. array(0) {
  156. }
  157. [4]=>
  158. int(-42)
  159. [5]=>
  160. bool(true)
  161. [6]=>
  162. bool(false)
  163. [7]=>
  164. NULL
  165. [8]=>
  166. object(stdClass)#3 (31) {
  167. ["integer"]=>
  168. int(1234567890)
  169. ["real"]=>
  170. float(-9876.54321)
  171. ["e"]=>
  172. float(1.23456789E-13)
  173. ["E"]=>
  174. float(1.23456789E+34)
  175. ["_empty_"]=>
  176. float(INF)
  177. ["zero"]=>
  178. int(0)
  179. ["one"]=>
  180. int(1)
  181. ["space"]=>
  182. string(1) " "
  183. ["quote"]=>
  184. string(1) """
  185. ["backslash"]=>
  186. string(1) "\"
  187. ["controls"]=>
  188. string(5) "
  189. "
  190. ["slash"]=>
  191. string(5) "/ & /"
  192. ["alpha"]=>
  193. string(25) "abcdefghijklmnopqrstuvwyz"
  194. ["ALPHA"]=>
  195. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  196. ["digit"]=>
  197. string(10) "0123456789"
  198. ["special"]=>
  199. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  200. ["hex"]=>
  201. string(17) "ģ䕧覫췯ꯍ"
  202. ["true"]=>
  203. bool(true)
  204. ["false"]=>
  205. bool(false)
  206. ["null"]=>
  207. NULL
  208. ["array"]=>
  209. array(0) {
  210. }
  211. ["object"]=>
  212. object(stdClass)#4 (0) {
  213. }
  214. ["address"]=>
  215. string(19) "50 St. James Street"
  216. ["url"]=>
  217. string(20) "http://www.JSON.org/"
  218. ["comment"]=>
  219. string(13) "// /* <!-- --"
  220. ["# -- --> */"]=>
  221. string(1) " "
  222. [" s p a c e d "]=>
  223. array(7) {
  224. [0]=>
  225. int(1)
  226. [1]=>
  227. int(2)
  228. [2]=>
  229. int(3)
  230. [3]=>
  231. int(4)
  232. [4]=>
  233. int(5)
  234. [5]=>
  235. int(6)
  236. [6]=>
  237. int(7)
  238. }
  239. ["compact"]=>
  240. array(7) {
  241. [0]=>
  242. int(1)
  243. [1]=>
  244. int(2)
  245. [2]=>
  246. int(3)
  247. [3]=>
  248. int(4)
  249. [4]=>
  250. int(5)
  251. [5]=>
  252. int(6)
  253. [6]=>
  254. int(7)
  255. }
  256. ["jsontext"]=>
  257. string(49) "{"object with 1 member":["array with 1 element"]}"
  258. ["quotes"]=>
  259. string(27) "&#34; " %22 0x22 034 &#x22;"
  260. ["/\"쫾몾ꮘﳞ볚
  261. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  262. string(23) "A key can be any string"
  263. }
  264. [9]=>
  265. float(0.5)
  266. [10]=>
  267. float(98.6)
  268. [11]=>
  269. float(99.44)
  270. [12]=>
  271. int(1066)
  272. [13]=>
  273. string(7) "rosebud"
  274. }
  275. DECODE: AS ARRAY
  276. array(14) {
  277. [0]=>
  278. string(23) "JSON Test Pattern pass1"
  279. [1]=>
  280. array(1) {
  281. ["object with 1 member"]=>
  282. array(1) {
  283. [0]=>
  284. string(20) "array with 1 element"
  285. }
  286. }
  287. [2]=>
  288. array(0) {
  289. }
  290. [3]=>
  291. array(0) {
  292. }
  293. [4]=>
  294. int(-42)
  295. [5]=>
  296. bool(true)
  297. [6]=>
  298. bool(false)
  299. [7]=>
  300. NULL
  301. [8]=>
  302. array(31) {
  303. ["integer"]=>
  304. int(1234567890)
  305. ["real"]=>
  306. float(-9876.54321)
  307. ["e"]=>
  308. float(1.23456789E-13)
  309. ["E"]=>
  310. float(1.23456789E+34)
  311. [""]=>
  312. float(INF)
  313. ["zero"]=>
  314. int(0)
  315. ["one"]=>
  316. int(1)
  317. ["space"]=>
  318. string(1) " "
  319. ["quote"]=>
  320. string(1) """
  321. ["backslash"]=>
  322. string(1) "\"
  323. ["controls"]=>
  324. string(5) "
  325. "
  326. ["slash"]=>
  327. string(5) "/ & /"
  328. ["alpha"]=>
  329. string(25) "abcdefghijklmnopqrstuvwyz"
  330. ["ALPHA"]=>
  331. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  332. ["digit"]=>
  333. string(10) "0123456789"
  334. ["special"]=>
  335. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  336. ["hex"]=>
  337. string(17) "ģ䕧覫췯ꯍ"
  338. ["true"]=>
  339. bool(true)
  340. ["false"]=>
  341. bool(false)
  342. ["null"]=>
  343. NULL
  344. ["array"]=>
  345. array(0) {
  346. }
  347. ["object"]=>
  348. array(0) {
  349. }
  350. ["address"]=>
  351. string(19) "50 St. James Street"
  352. ["url"]=>
  353. string(20) "http://www.JSON.org/"
  354. ["comment"]=>
  355. string(13) "// /* <!-- --"
  356. ["# -- --> */"]=>
  357. string(1) " "
  358. [" s p a c e d "]=>
  359. array(7) {
  360. [0]=>
  361. int(1)
  362. [1]=>
  363. int(2)
  364. [2]=>
  365. int(3)
  366. [3]=>
  367. int(4)
  368. [4]=>
  369. int(5)
  370. [5]=>
  371. int(6)
  372. [6]=>
  373. int(7)
  374. }
  375. ["compact"]=>
  376. array(7) {
  377. [0]=>
  378. int(1)
  379. [1]=>
  380. int(2)
  381. [2]=>
  382. int(3)
  383. [3]=>
  384. int(4)
  385. [4]=>
  386. int(5)
  387. [5]=>
  388. int(6)
  389. [6]=>
  390. int(7)
  391. }
  392. ["jsontext"]=>
  393. string(49) "{"object with 1 member":["array with 1 element"]}"
  394. ["quotes"]=>
  395. string(27) "&#34; " %22 0x22 034 &#x22;"
  396. ["/\"쫾몾ꮘﳞ볚
  397. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  398. string(23) "A key can be any string"
  399. }
  400. [9]=>
  401. float(0.5)
  402. [10]=>
  403. float(98.6)
  404. [11]=>
  405. float(99.44)
  406. [12]=>
  407. int(1066)
  408. [13]=>
  409. string(7) "rosebud"
  410. }
  411. ENCODE: FROM OBJECT
  412. ["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,"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","true":true,"false":false,"null":null,"array":[],"object":{},"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"]
  413. ENCODE: FROM ARRAY
  414. ["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,"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","true":true,"false":false,"null":null,"array":[],"object":[],"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"]
  415. DECODE AGAIN: AS OBJECT
  416. array(14) {
  417. [0]=>
  418. string(23) "JSON Test Pattern pass1"
  419. [1]=>
  420. object(stdClass)#5 (1) {
  421. ["object with 1 member"]=>
  422. array(1) {
  423. [0]=>
  424. string(20) "array with 1 element"
  425. }
  426. }
  427. [2]=>
  428. object(stdClass)#6 (0) {
  429. }
  430. [3]=>
  431. array(0) {
  432. }
  433. [4]=>
  434. int(-42)
  435. [5]=>
  436. bool(true)
  437. [6]=>
  438. bool(false)
  439. [7]=>
  440. NULL
  441. [8]=>
  442. object(stdClass)#7 (31) {
  443. ["integer"]=>
  444. int(1234567890)
  445. ["real"]=>
  446. float(-9876.54321)
  447. ["e"]=>
  448. float(1.23456789E-13)
  449. ["E"]=>
  450. float(1.23456789E+34)
  451. ["_empty_"]=>
  452. int(0)
  453. ["zero"]=>
  454. int(0)
  455. ["one"]=>
  456. int(1)
  457. ["space"]=>
  458. string(1) " "
  459. ["quote"]=>
  460. string(1) """
  461. ["backslash"]=>
  462. string(1) "\"
  463. ["controls"]=>
  464. string(5) "
  465. "
  466. ["slash"]=>
  467. string(5) "/ & /"
  468. ["alpha"]=>
  469. string(25) "abcdefghijklmnopqrstuvwyz"
  470. ["ALPHA"]=>
  471. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  472. ["digit"]=>
  473. string(10) "0123456789"
  474. ["special"]=>
  475. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  476. ["hex"]=>
  477. string(17) "ģ䕧覫췯ꯍ"
  478. ["true"]=>
  479. bool(true)
  480. ["false"]=>
  481. bool(false)
  482. ["null"]=>
  483. NULL
  484. ["array"]=>
  485. array(0) {
  486. }
  487. ["object"]=>
  488. object(stdClass)#8 (0) {
  489. }
  490. ["address"]=>
  491. string(19) "50 St. James Street"
  492. ["url"]=>
  493. string(20) "http://www.JSON.org/"
  494. ["comment"]=>
  495. string(13) "// /* <!-- --"
  496. ["# -- --> */"]=>
  497. string(1) " "
  498. [" s p a c e d "]=>
  499. array(7) {
  500. [0]=>
  501. int(1)
  502. [1]=>
  503. int(2)
  504. [2]=>
  505. int(3)
  506. [3]=>
  507. int(4)
  508. [4]=>
  509. int(5)
  510. [5]=>
  511. int(6)
  512. [6]=>
  513. int(7)
  514. }
  515. ["compact"]=>
  516. array(7) {
  517. [0]=>
  518. int(1)
  519. [1]=>
  520. int(2)
  521. [2]=>
  522. int(3)
  523. [3]=>
  524. int(4)
  525. [4]=>
  526. int(5)
  527. [5]=>
  528. int(6)
  529. [6]=>
  530. int(7)
  531. }
  532. ["jsontext"]=>
  533. string(49) "{"object with 1 member":["array with 1 element"]}"
  534. ["quotes"]=>
  535. string(27) "&#34; " %22 0x22 034 &#x22;"
  536. ["/\"쫾몾ꮘﳞ볚
  537. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  538. string(23) "A key can be any string"
  539. }
  540. [9]=>
  541. float(0.5)
  542. [10]=>
  543. float(98.6)
  544. [11]=>
  545. float(99.44)
  546. [12]=>
  547. int(1066)
  548. [13]=>
  549. string(7) "rosebud"
  550. }
  551. DECODE AGAIN: AS ARRAY
  552. array(14) {
  553. [0]=>
  554. string(23) "JSON Test Pattern pass1"
  555. [1]=>
  556. array(1) {
  557. ["object with 1 member"]=>
  558. array(1) {
  559. [0]=>
  560. string(20) "array with 1 element"
  561. }
  562. }
  563. [2]=>
  564. array(0) {
  565. }
  566. [3]=>
  567. array(0) {
  568. }
  569. [4]=>
  570. int(-42)
  571. [5]=>
  572. bool(true)
  573. [6]=>
  574. bool(false)
  575. [7]=>
  576. NULL
  577. [8]=>
  578. array(31) {
  579. ["integer"]=>
  580. int(1234567890)
  581. ["real"]=>
  582. float(-9876.54321)
  583. ["e"]=>
  584. float(1.23456789E-13)
  585. ["E"]=>
  586. float(1.23456789E+34)
  587. [""]=>
  588. int(0)
  589. ["zero"]=>
  590. int(0)
  591. ["one"]=>
  592. int(1)
  593. ["space"]=>
  594. string(1) " "
  595. ["quote"]=>
  596. string(1) """
  597. ["backslash"]=>
  598. string(1) "\"
  599. ["controls"]=>
  600. string(5) "
  601. "
  602. ["slash"]=>
  603. string(5) "/ & /"
  604. ["alpha"]=>
  605. string(25) "abcdefghijklmnopqrstuvwyz"
  606. ["ALPHA"]=>
  607. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  608. ["digit"]=>
  609. string(10) "0123456789"
  610. ["special"]=>
  611. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  612. ["hex"]=>
  613. string(17) "ģ䕧覫췯ꯍ"
  614. ["true"]=>
  615. bool(true)
  616. ["false"]=>
  617. bool(false)
  618. ["null"]=>
  619. NULL
  620. ["array"]=>
  621. array(0) {
  622. }
  623. ["object"]=>
  624. array(0) {
  625. }
  626. ["address"]=>
  627. string(19) "50 St. James Street"
  628. ["url"]=>
  629. string(20) "http://www.JSON.org/"
  630. ["comment"]=>
  631. string(13) "// /* <!-- --"
  632. ["# -- --> */"]=>
  633. string(1) " "
  634. [" s p a c e d "]=>
  635. array(7) {
  636. [0]=>
  637. int(1)
  638. [1]=>
  639. int(2)
  640. [2]=>
  641. int(3)
  642. [3]=>
  643. int(4)
  644. [4]=>
  645. int(5)
  646. [5]=>
  647. int(6)
  648. [6]=>
  649. int(7)
  650. }
  651. ["compact"]=>
  652. array(7) {
  653. [0]=>
  654. int(1)
  655. [1]=>
  656. int(2)
  657. [2]=>
  658. int(3)
  659. [3]=>
  660. int(4)
  661. [4]=>
  662. int(5)
  663. [5]=>
  664. int(6)
  665. [6]=>
  666. int(7)
  667. }
  668. ["jsontext"]=>
  669. string(49) "{"object with 1 member":["array with 1 element"]}"
  670. ["quotes"]=>
  671. string(27) "&#34; " %22 0x22 034 &#x22;"
  672. ["/\"쫾몾ꮘﳞ볚
  673. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  674. string(23) "A key can be any string"
  675. }
  676. [9]=>
  677. float(0.5)
  678. [10]=>
  679. float(98.6)
  680. [11]=>
  681. float(99.44)
  682. [12]=>
  683. int(1066)
  684. [13]=>
  685. string(7) "rosebud"
  686. }