Как декодировать JSON в YII 1

У меня есть следующие коды в моем контроллере:

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

Как я могу исправить эту ошибку?

3

Решение

Пожалуйста, попробуйте это,

 public function loadJson($id)
{

$jsonfile=ChForms::model()->findByPk($id);
$decodedJson=json_decode($jsonfile->json, true);
return $decodedJson;

}
1

Другие решения

Вы можете использовать json_encode, как показано ниже,

public function loadJson($id)
{

$jsonfile=ChForms::model()->findByPk($id, array("select"=>"json"));
$decodedJson=json_encode($jsonfile, true);
return $decodedJson;

}
0

По вопросам рекламы [email protected]