json_encode 的JSON 輸出中出現意外的反斜線
在檔案上傳後使用json_encode 傳回某些使用者遇到了添加輸出中不必要的反斜線。為了深入研究這個問題,讓我們分解一下問題:
初始程式碼片段,它產生有效的JSON:
print_r($result); echo json_encode($result);
但是,透過data.toSource() 進一步檢查,它是顯示正在產生無效的JSON,並新增了反斜線和附加資訊(例如,狀態:200)附加。
問題原因
額外的反斜線和無關資訊可能是由 json_encode 本身以外的進程引入的。假設 Plupload 綁定函數可能以某種方式操縱傳回的資料。
解決方案
要解決此問題,建議包含「JSON_UNESCAPED_SLASHES」選項當使用 json_encode 時。此選項在 PHP 5.4 及更高版本中引入,可防止添加不必要的反斜杠。更正後的代碼:
json_encode($array, JSON_UNESCAPED_SLASHES);
以上是為什麼要使用 json_encode 在 JSON 輸出中出現意外的反斜線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!