如何讓json_encode不轉義斜杠


當服務器返回一些數據時需要返回一些地址,但是默認的json_code是會對 / 轉義成 \/ 的處理。。。

解決辦法:

1. 正則替換:  echo str_replace("\\/", "/",  json_encode("2013/4/21"));

2. 若是php版本是5.4的話:   echo json_encode("2011/7/11", JSON_UNESCAPED_SLASHES);

 

php格式化json的函數@json_encode($value,$options)

其中有2個比較常用到的參數:

JSON_UNESCAPED_UNICODE中文不轉為unicode ,對應的數字 256)

JSON_UNESCAPED_SLASHES不轉義反斜杠,對應的數字 64

 

通常json_encode只能傳入一個常量,如果同時使用2個常量怎么辦?

JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320

使用方法:json_encode($arr,320);即可完成同時使用2個常量。

 

例如:

 

<?php $arr = array('key'=>'中文/同時生效'); json_encode($arr,320);

 

 結果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM