剛剛翻資料發現 json_encode 奇怪的老問題總算有解...
這樣的程式碼:
<?php echo json_encode("http://www.google.com/"), "\n";
會輸出這樣的結果:
"http:\/\/www.google.com\/"
這是合法的 JSON 沒錯 (JSON 規格允許 string 裡面使用 \/
),但看起來就很不爽啊,明明 /
就是可以合法輸出的字元... 然後剛剛看到 PHP 5.4.0 加上這些東西:
JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE options were added.
測了 JSON_UNESCAPED_SLASHES
,看起來舒服多了:
<?php echo json_encode("http://www.google.com/", JSON_UNESCAPED_SLASHES), "\n";
輸出結果是:
"http://www.google.com/"