Php json_解码返回NULL[{},{}]

Php json_解码返回NULL[{},{}],php,mysql,database,Php,Mysql,Database,我用PHP从我们的数据库(用GLua输入)中提取信息,然后使用json_decode将其更改为要使用的数组,但它返回NULL,而其他数组正在使用 // Get the RapSheet info from 'character_data_store' $rap = mysql_query("SELECT * FROM `character_data_store` WHERE `character_id` = '$srp_uid' AND `key`='RapSheet'"); while($ra

我用PHP从我们的数据库(用GLua输入)中提取信息,然后使用json_decode将其更改为要使用的数组,但它返回NULL,而其他数组正在使用

// Get the RapSheet info from 'character_data_store'
$rap = mysql_query("SELECT * FROM `character_data_store` WHERE `character_id` = '$srp_uid' AND `key`='RapSheet'");
while($rapsheet=mysql_fetch_assoc($rap)){
    $raps = $rapsheet['value'];
};
然后我用

// Deal with the rapsheet JSON
echo $raps;
$raps = json_decode($rapsheet, true);
echo var_dump($raps, TRUE);
回音的目的是检查它是否工作,信息在回音时被成功地提取,尽管var_转储返回

空布尔值(真)

数据库内容:

[{"ArrestedBy":"James Scott","Date":1483732483,"Duration":60,"LeaveReason":"Jail time served.","ArrestReason":"test"}]
任何帮助都将不胜感激


尝试达伦的回答后:


我试过了

$rap = mysql_query("SELECT * FROM `character_data_store` WHERE `character_id` = '$srp_uid' AND `key`='RapSheet'");
$raps = array();
    while($rapsheet=mysql_fetch_assoc($rap)){
    $raps[] = $rapsheet['value'];
};

// encode
$rap = json_encode($raps, TRUE);
echo $rap;
结果是:

[“[{\'逮捕人\':\'詹姆斯·斯科特\',\'日期\':1483732483,\'持续时间\':60,\'离开原因\':\'服刑。\,\'逮捕原因\':\'测试\'”] 所以我试过了

它回来了

[


您正在尝试访问不在正确范围内的变量。
$rapsheet
只能在
while(){…
循环中访问,因为它将是当前的数据行。您要做的是将
$raps
创建为数组并在其中插入行。从那里您可以
json\u decode()
随您的便。根据您有多少行,您可能需要循环使用
$raps
并解码每个数组元素

$raps = array();
while($rapsheet=mysql_fetch_assoc($rap)){
    $raps[] = $rapsheet['value'];
};

// encode
$rap = json_encode($raps, TRUE);

嗨,我试过了,但仍然无法使用:($rap=mysql_query(“SELECT*FROM
character\u data\u store
WHERE
character\u id
='$srp\u uid'和
key
='RapSheet');$raps=array();while($RapSheet=mysql_fetch\u assoc($rap)){$raps[]=$RapSheet['value'];echo$raps['arresidedby'];请在你的答案中保留你的代码(不是评论哈哈)。什么不起作用?嗨,对不起,Darren,通常不是stackoverflow人!而且,它不会回应任何东西:/@JamesScott你确定你的sql查询实际上返回了什么吗?我编辑了这篇文章,提供了有关尝试回答的更多信息。
$raps = array();
while($rapsheet=mysql_fetch_assoc($rap)){
    $raps[] = $rapsheet['value'];
};

// encode
$rap = json_encode($raps, TRUE);