php json_decode 返回值为null
为什么80%的码农都做不了架构师?>>>
今天工作中碰到一个很诡异的问题。从memcache中取出的json字符串无法解析。返回值为null。
我在做一个游戏的认证接口,客户端传入一串加密过的token,我解密以后去memcache中获取用户认证数据。
这段数据是游戏服务器端写入进memcache中的。
我把数据读出来以后,怎么都解析不了。但是打印出来没问题。
去google了一下,都是说双引号和单引号的问题。
但是我把打印出来的字符串直接放入php文件中是可以解析的,
这就排除了双引号和单引号的问题。
接着用var_dump查看字符串,发现字符数目不对。
反应过了,应该是多了隐藏字符。
接着把字符串的ascll码打印出来。
发现多了一个”\0”这个字符。马上反应过了,服务器端程序是用C写的,在C中。字符串是已”\0”结尾。
把这个小尾巴也保存进了memecache中了。哈哈。
终于解决了。用str_replace(“\0”,””,$str);替换掉这个小尾巴就好了。
转载于//my.oschina.net/clownfish/blog/50586
还没有评论,来说两句吧...