标签 json_encode 下的文章

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个常量。

$arr =array('hello'=>'word/世界')
$res=json_encode($arr,320);

 $data['media'] ='/www/web/www_kinmor_com/public_html/Uploads/Wechat/image/20180625/5b30ae2976d25.jpg'
$data =json_encode($data);

返回结果如下:

{"media":"@\/www\/web\/www_kinmor_com\/public_html\/Uploads\/Wechat\/image\/20180625/5b30ae2976d25.jpg"}

发现斜杠被转义了。

解决方法:后来仔细看了手册,发现有这个函数JSON_UNESCAPED_SLASHES

修改后:

$data =json_encode($data,JSON_UNESCAPED_SLASHES);

斜杠转义问题已解决,返回结果:

{"media":"@/www/web/www_kinmor_com/public_html/Uploads/Wechat/image/20180625/5b30ae2976d25.jpg"}