我将编码数组存储在数据库中,当我尝试解码时,它将返回null。
[{"id":13,"qty":"1"}]
数组是用PHP编码的,所以我不知道问题可能是什么。
由于
答案 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));