我的控制器中有以下代码:
public function actionCabinet($id){
$this->render('cabinet', array('model'=>$this->loadJson($id)) );
}
public function loadJson($id)
{
$jsonfile=ChForms::model()->findByPk($id, array("select"=>"json"));
$decodedJson=json_decode($jsonfile, true);
return $decodedJson;
}
数据以json格式保存在ChForm的json字段中。我要将它转换为数组。当我运行此应用程序时,它显示以下错误消息:
json_decode() expects parameter 1 to be string, object given
如何解决此错误?
答案 0 :(得分:1)
请试试这个,
public function loadJson($id)
{
$jsonfile=ChForms::model()->findByPk($id);
$decodedJson=json_decode($jsonfile->json, true);
return $decodedJson;
}
答案 1 :(得分:0)
您可以使用如下所示的json_encode,
public function loadJson($id)
{
$jsonfile=ChForms::model()->findByPk($id, array("select"=>"json"));
$decodedJson=json_encode($jsonfile, true);
return $decodedJson;
}