2017-04-27 194 views
0

我從數據庫中得到json編碼數組更改一個字段,然後再次保存,但json_encode刪除\後,我無法看到我的網站中的文本。json_encode刪除反斜槓

$data_de=json_decode($row["data_json"], true); 
$data_de[$ref."_visits"]++; 
$datast=json_encode($data_de); 

例如,如果代碼之前,分貝值:

{"7_id":"7","7_name":"\u05d1\u05d3\u05d94","7_coded":"","7_visits":"0"} 

後的值:

{"7_id":"7","7_name":"u05d1u05d3u05d94","7_coded":"","7_visits":"1"} 

我怎麼能防止反斜線的去除?

+0

你是什麼意思*「後的值」 *? –

+0

雙反斜槓將被視爲1'\\'(反斜槓)作爲字符串。如果不進行測試,我無法確定這些信息是否有用。在反斜槓中使用的幾種語言中可以有其他含義,因此爲什麼需要雙反斜槓來將其視爲字符串。這也被稱爲逃避你的角色。 –

+1

錯誤不在這裏。您提供的代碼沒有錯誤。但錯誤是您將字符串存儲回數據庫的方式。在那裏檢查。這是一個[Demo](https://eval.in/783498) – bansi

回答

0

爲了防止去除反斜槓在你的JSON編碼使用此代碼:

json_encode($data_de, JSON_UNESCAPED_SLASHES);

+0

***「我如何防止反斜槓的移除?」*** –