PHP对象转成JSON

WBOY
WBOYasal
2016-06-06 20:18:291216semak imbas

先定义有个 class:

<code>class UserBean {
    public $user_id = 0;
    public $user_name = 'null';
    
    function setUser_id ($user_id) {
        $this->user_id = $user_id;
    }
    function setUser_name ($user_name) {
        $this->user_name = $user_name;
    }
    
    function getUser_id () {
        return $this->user_id;
    }
    function getUser_name () {
        return $this->user_name;
    }
}</code>

这样的,我想要生成的JSON格式类似于:

<code>{“info":"read the data succeed","UserBean":[{"user_id":"21","user_name":"小明"},{":[{"user_id":"23","user_name":"小东"}]}</code>

其中 UserBean下面是不确定个数的对象。。。
这样的JSON数据要怎么生成。。。?
有没有 像 JAVA 中 List'' 这样的东西。。。
求大神帮助。。。

回复内容:

先定义有个 class:

<code>class UserBean {
    public $user_id = 0;
    public $user_name = 'null';
    
    function setUser_id ($user_id) {
        $this->user_id = $user_id;
    }
    function setUser_name ($user_name) {
        $this->user_name = $user_name;
    }
    
    function getUser_id () {
        return $this->user_id;
    }
    function getUser_name () {
        return $this->user_name;
    }
}</code>

这样的,我想要生成的JSON格式类似于:

<code>{“info":"read the data succeed","UserBean":[{"user_id":"21","user_name":"小明"},{":[{"user_id":"23","user_name":"小东"}]}</code>

其中 UserBean下面是不确定个数的对象。。。
这样的JSON数据要怎么生成。。。?
有没有 像 JAVA 中 List'' 这样的东西。。。
求大神帮助。。。

{“info":"read the data succeed","UserBean":[{"user_id":"21","user_name":"小明"},{":[{"user_id":"23","user_name":"小东"}]}

PHP实现:先生成数组再json编码

<code>$data['info'] = '';
$data['UserBean'][0]['user_id'] = '';
$data['UserBean'][0]['user_name'] = '';
$data['UserBean'][1]['user_id'] = '';
$data['UserBean'][1]['user_name'] = '';
exit(json_encode($data));</code>

可以直接从数据库查询UserBean结果集
也可以自己拼装数组

正解:

<code>$data['info'] = 'succeed';
$data['UserBean'][0]['user_id'] = '1';
$data['UserBean'][0]['user_name'] = '小明';
$data['UserBean'][1]['user_id'] = '2';
$data['UserBean'][1]['user_name'] = '栗子';
echo json_encode($data);</code>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn