json_decode返回null

时间:2010-11-28 21:39:55

标签: php json

我将编码数组存储在数据库中,当我尝试解码时,它将返回null。

[{"id":13,"qty":"1"}]

数组是用PHP编码的,所以我不知道问题可能是什么。

由于

3 个答案:

答案 0 :(得分:0)

尝试打印:

json_last_error()

答案 1 :(得分:0)

如果要将数组存储在数据库中,个人serialize();unserialize();函数会更好。应该使用JSON函数将JSON字符串返回给JavaScript。

$array = array('data','more data','superdata'=>'even more data');
$array = serialize($array);
// Store array in database after serialized

然后将数据从数据库转回数组,你会...

// Fetch the data from the database
$data = $row['myDataArray'];
$array = unserialize($data);
echo $array['superdata']; // Would produce: "even more data"

希望这可以帮助您解决一些问题。如果您确实需要将其转换为JSON以发送到JavaScript,那么您将使用json_encode($array);函数。

答案 2 :(得分:0)

我有一个类似的问题,但在不同的背景下。在我的例子中,我试图解码用Javascript JSON.stringify编码的JSON字符串,将其存储在隐藏文本字段中,并在页面POST之后用PHP解码。我发现,在解码前应用stripslashes函数很有帮助。

$arrMyOutput = json_decode(stripslashes($yourJSON_string_goes_here));