PHP从数据库中获取数据并编码为JSON格式的Yii框架

时间:2015-03-27 15:07:32

标签: php json yii encode

我有点挣扎着yii框架。我想从我的php服务器连接到移动应用程序。我应该如何进行Json编码并在yii框架中发送到移动应用程序?

3 个答案:

答案 0 :(得分:0)

Yii的方法是

echo CJSON::encode($myArray);

底层代码使用json_encode,但这里讨论的优点是: Why use CJSON encode when we have json_encode

答案 1 :(得分:0)

我正在使用这个:

 public function actionGetUser($user_id)
        {   
            header('Content-type: application/json');
            $user = User::model()->findAll();
            echo CJSON::encode($user);
            Yii::app()->end();
     }   

当我测试时,这确实有效:localhost / myproject / index.php / user / getuser / user_id

json只能编码一个属性并发送到移动应用程序吗?示例:有以下属性:user_id,user_name,user_email,user_photo

如果我想将user_name传递给移动应用,是否可以?我该怎么做?

答案 2 :(得分:0)

问:如何在yii框架中执行Json编码并发送到移动应用程序?

A:

echo CJSON::encode($myArray);

问:如果我想将user_name传递给移动应用,是否可能?我该怎么做?

A:

$criteria=new CDbCriteria;
$criteria->select='user_name';  // only select the 'user_name' column
$criteria->condition='user_id=:user_id';
$user_id = filter_input(INPUT_GET,'user_id');
if(FALSE===$user_id){
   header($_SERVER['SERVER_PROTOCOL'].' 404 not found');
   return false;
}

$criteria->params=array(':user_id'=>$user_id); // check 
$user=Users::model()->find($criteria); // $params is not needed

//回答json,如答案#1所示

祝你好运!