php json_decode 返回值为null

偏执的太偏执、 2022-10-01 14:48 297阅读 0赞

为什么80%的码农都做不了架构师?>>> hot3.png

今天工作中碰到一个很诡异的问题。从memcache中取出的json字符串无法解析。返回值为null。

我在做一个游戏的认证接口,客户端传入一串加密过的token,我解密以后去memcache中获取用户认证数据。

这段数据是游戏服务器端写入进memcache中的。

我把数据读出来以后,怎么都解析不了。但是打印出来没问题。

去google了一下,都是说双引号和单引号的问题。

但是我把打印出来的字符串直接放入php文件中是可以解析的,

这就排除了双引号和单引号的问题。

接着用var_dump查看字符串,发现字符数目不对。

反应过了,应该是多了隐藏字符。

接着把字符串的ascll码打印出来。

发现多了一个”\0”这个字符。马上反应过了,服务器端程序是用C写的,在C中。字符串是已”\0”结尾。

把这个小尾巴也保存进了memecache中了。哈哈。

终于解决了。用str_replace(“\0”,””,$str);替换掉这个小尾巴就好了。

转载于:https://my.oschina.net/clownfish/blog/50586

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JackSon返回null的字段

    说实话这个问题真的让我头疼,最终想到一个投机取巧的方法,下面且听我一一道来。 背景 因为mobile团队为了节省流量,所以架构组就把一些值为`null`或者`""`的字