2010-11-28 125 views
0

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

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

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

感谢

+3

工作很好。 – 2010-11-28 21:43:20

+3

向我们展示您使用的代码,因为问题可能在于... – 2010-11-28 21:43:32

回答

0

尝试打印:

json_last_error() 
0

亲自serialize();unserialize();功能会更好,如果你想存储在数据库中的数组。 JSON函数应该用于返回到JavaScript的JSON字符串。

$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);函数。

0

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

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