【发布时间】:2016-02-24 20:27:23
【问题描述】:
我想使用json_decode() 来解码存储在数据库中的字符串,如下所示:
{"results":[{"r":"1","c":"0"},{"r":"2","c":"0"},{"r":"3","c":"0"}]}
问题是:函数返回NULL。
但是当我尝试以下代码时,一切正常:
$data ='{"results":[{"r":"1","c":"0"},{"r":"2","c":"0"},{"r":"3","c":"0"}]}';
$JO=json_decode($data);
var_dump($JO);
从数据库返回的值和我上面描述的完全一样。
【问题讨论】:
-
我认为
$tmpString[2]只是一个错字?还向我们展示:var_dump($yourData);的输出以检查字符串的长度以及其中是否有任何隐藏字符 -
用
$data代替$tmpString[2]时没有得到null -
对从数据库获得的数据执行
var_dump()。确保它是你认为应该的。如果输入数据为 javascript null 或解码失败,则返回null,在这种情况下,您必须检查json_last_error()的原因。 -
@devpro 这是一个错字我很抱歉
-
@Mehrdad 正如 Marc B 已经提到的那样,只需检查
json_last_error()并告诉我们你得到了什么。