Heim >Backend-Entwicklung >PHP-Tutorial >PHP对象转成JSON

PHP对象转成JSON

WBOY
WBOYOriginal
2016-06-06 20:18:291218Durchsuche

先定义有个 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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn