3

我的控制器中有以下代码:

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

我该如何解决这个错误?

4

2 回答 2

1

请试试这个,

 public function loadJson($id)
{

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

}
于 2016-11-02T10:50:51.783 回答
-1

您可以使用 json_encode 如下所示,

public function loadJson($id)
{

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

}
于 2016-11-02T09:35:43.373 回答