为了账号安全,请及时绑定邮箱和手机立即绑定

webservice调用后,json_decode返回NULL

webservice调用后,json_decode返回NULL

PHP
波斯汪 2019-07-30 17:01:10
webservice调用后,json_decode返回NULL有一个奇怪的行为json_encode和json_decode我不能找到一个解决方案:我的php应用程序调用php Web服务。webservice返回如下所示的json:var_dump($foo):string(62) "{"action":"set","user":"123123123123","status":"OK"}"现在我想在我的应用程序中解码json:$data = json_decode($foo, true)但它返回NULL:var_dump($data):NULL我用的是php5。来自webservice的响应的Content-Type :( "text/html; charset=utf-8"也尝试使用"application/json; charset=utf-8")可能是什么原因?
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

好吧,我有一个类似的问题,问题是服务器中的PHP魔术引号......这是我的解决方案:

if(get_magic_quotes_gpc()){
  $param = stripslashes($_POST['param']);}else{
  $param = $_POST['param'];}$param = json_decode($param,true);


查看完整回答
反对 回复 2019-07-30
?
UYOU

TA贡献1878条经验 获得超4个赞

调试时打印最后一个json错误。 

json_decode( $so, true, 9 );$json_errors = array(
    JSON_ERROR_NONE => 'No error has occurred',
    JSON_ERROR_DEPTH => 'The maximum stack depth has been exceeded',
    JSON_ERROR_CTRL_CHAR => 'Control character error, possibly incorrectly encoded',
    JSON_ERROR_SYNTAX => 'Syntax error',);
 echo 'Last error : ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL;

还可以使用json.stringify()函数来仔细检查您的JSON语法。


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 469 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信