2017-04-27 325 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

***“我如何防止反斜杠的移除?”*** –