php7 json问题
1、小数点精度丢失问题
if (version_compare(phpversion(), '7.1', '>=')) {
ini_set( 'serialize_precision', -1 );
}
2、大整型变为浮点型问题
$str = '{"errcode":0,"errmsg":"ok","department":[{"id":8559795009588101021,"name":"test12345","parentid":8559795009588100870,"order":1},{"id":8559795009588100880,"name":"test","parentid":8559795009588100870,"order":1}]}';
$arr = json_decode($str,true,512,JSON_BIGINT_AS_STRING);
var_dump($arr);
3、接口调用时,数字类型改为字符串类型,避免精度丢失
4、json_encode()常用到的两个参数
json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)
JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)