webservice调用后,json_decode返回NULL

webservice调用后,json_decode返回NULL

有一个奇怪的行为json_encodejson_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"

可能是什么原因?


波斯汪
浏览 470回答 3
3回答

翻翻过去那场雪

好吧,我有一个类似的问题,问题是服务器中的PHP魔术引号......这是我的解决方案:if(get_magic_quotes_gpc()){   $param = stripslashes($_POST['param']);}else{   $param = $_POST['param'];}$param = json_decode($param,true);

UYOU

调试时打印最后一个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语法。
打开App,查看更多内容
随时随地看视频慕课网APP