今天在进行接口加签的时候,发现一个问题,数据一直加签失败; 再查找一番原因后发现原来 json_encode
对反斜杠进行了转义,导致数据一直加签失败 解决办法如下:
json_encode($value,JSON_UNESCAPED_SLASHES );
这样就解决了反斜杠转义的问题。 仔细说明下 json_encode
的使用方法:
string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )
默认情况下 json_encode 只能传入一个常量,如果想同事传入多个常量怎么办? 一些常量对应的数字如下:
JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256
JSON_PARTIAL_OUTPUT_ON_ERROR => 512
JSON_PRESERVE_ZERO_FRACTION => 1024
因此可以写成如下方式: JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320
json_encode($value,320 );