我从python接收一个json数组作为PHP中curl_exec的返回(第一个json PHP - > python,返回另一个json),并且由于语法错误导致解码失败.收到的json是有效的,但不知何故,如果我将这个json转换为字符串并打印出来,我会得到一个包含29个字符的字符串,但如果我打印strlen((字符串)$ my_json)则表示50.
这是代码:
$results = curl_exec($ch);
curl_close($ch);
var_dump(json_decode($results));
Run Code Online (Sandbox Code Playgroud)
并返回NULL.如果我做以下事情
echo (string)$results;
Run Code Online (Sandbox Code Playgroud)
它打印[[11,"stuffstuf","stuffs"]](29个字符),这是一个有效的json.但如果我这样做
echo strlen((string)$results);
Run Code Online (Sandbox Code Playgroud)
它打印50.
所以,我不知道发生了什么.任何想法将不胜感激=)
Sel*_*aek 17
可能是你周围有一些html标签,你在做简单的回声时看不到?
尝试:echo htmlentities((string)$results);查看更多内容,或查看页面的html源代码.
如果json_decode()失败,则表示该字符串不是标准JSON.
您还可以使用json_last_error_msg()来确定它返回NULL的原因.如果json_decode中有任何错误,那将返回错误消息.
| 归档时间: |
|
| 查看次数: |
25034 次 |
| 最近记录: |