我在PHP中使用json_encode
來編碼URL爲什麼JSON編碼器在編碼URL時添加了轉義字符?
$json_string = array ('myUrl'=> 'http://example.com');
echo json_encode ($json_string);
上面的代碼生成以下JSON字符串:
{"myUrl":"http:\/\/example.com"}
比
{"myUrl":"http://example.com"}
我只是新手相反,這輸出是否正確? JSON解析器能夠正確評估第二個輸出嗎?
我同意。但值得注意的是,結果字符串*是有效的。在javascript字符串中,您可以通過在反斜槓前面加上* any *字符來轉義。所以「\ /」被Javascript解釋爲簡單的'/'。 – Lee 2010-09-16 02:30:55
JSON與JavaScript不一樣。在JSON中,你不允許反斜槓任何你喜歡的。但奇怪的是,你可以在一個字符串中反斜槓,所以它仍然有效。 :) – hobbs 2010-09-16 04:58:05