1. 程式人生 > >如何讓json_encode不轉義斜杠

如何讓json_encode不轉義斜杠

arr strong keyword json 16px 一個 .com alt 轉義

當服務器返回一些數據時需要返回一些地址,但是默認的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);

結果:

技術分享圖片

如何讓json_encode不轉義斜杠