json_encode 沒有轉義雙引號 PHP5.5
阿新 • • 發佈:2019-02-03
問題:
json_encode 後, values裡面的雙引號沒有被轉義為 \" , 導致客戶端json解析出錯
問題產生過程:
從資料庫中查詢資料, 將資料直接json_encode , 返回給客戶端
問題原因:
資料庫中儲存雙引號, 使用 $quot; 代替, 資料庫查詢值之後, 查詢結果 $quot; 沒有轉為雙引號, 在json_encode 時, json_encode 將 $quot; 轉為雙引號, 但是沒有對其轉義
解決辦法:
資料庫查詢出結果之後, 使用 str_replace() 將 $quot; 轉為 雙引號, 再 json_encode, 就沒問題了.
str_replace ( """, "\"", $v2 ); // 將字串 $v2 中包含的所有 " 轉為 \"
--------------------------------------------------------------------------------------------------------------------------------------------
資料庫狀態:
查詢後狀態: