【问题标题】:Creating JSON in php在 php 中创建 JSON
【发布时间】:2010-11-26 13:07:22
【问题描述】:

似乎我会跳过箍以通过 PHP json_encode 将数据从 MySQL 移动到 json - 编码得到处理,它是从数据库中提取相关数据并确保您在数组中包含数组正确设置(下面的代码片段)...是否有一个 json 框架或其他东西,您可以将带有连接表的 sql 提供给它,它会为您完成所有冗余/令人困惑的工作?

        function people_list() {
        $data['jdata'] =
            array(
                'groups' => 
                    array(
                        array(
                            'name' => 'DeveloperList',
                            'people' => array(
                                            array('name' => 'sam sneed'),
                                            array('name' => 'sue summer')
                                        )
                        ),
                        array(
                            'name' => 'PMList',
                            'people' => array(
                                            array('name' => 'tim pm'),
                                            array('name' => 'sara pm')
                                        )
                        ),
                        array(
                            'name' => 'ClientList',
                            'people' => array(
                                            array('name' => 'Mr Smith'),
                                            array('name' => 'Ms Jones')
                                        )
                        )
                    )
            );

        $this->load->view('json', $data);            
    }

【问题讨论】:

    标签: php mysql json


    【解决方案1】:

    如果你使用PDO,你可以这样做

    $pdo_stmt = PDO::prepare($your_sql);
    $pdo_stmt->execute();
    $json_obj = json_encode($pdo_stmt->fetchAll(PDO::FETCH_ASSOC));
    

    这不会为您进行查询,但它会为您提供一个 JSON 对象,其中包含您查询中的所有行和列,而无需您指定所有内容。

    【讨论】:

      【解决方案2】:

      如果您要使用像 Doctrine 这样的 ORM,您可以将数据作为更结构化的数组返回,当您调用 json_encode() 时会保留该数组。

      这里是some relevant documentation

      【讨论】:

        【解决方案3】:

        除非我没有正确理解您的问题/问题,否则听起来您正在以错误的方式解决它。如果您使用适当程度的抽象,那么您应该能够轻松地验证进入数据库的数据结构,然后合理地期望相同的结构再次出现。

        这是“垃圾进,垃圾出”的原则之一 - 尽早处理垃圾以节省自己的时间。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-27
          • 2017-05-23
          • 2015-07-03
          • 2022-12-04
          • 2020-12-05
          • 2018-05-08
          • 2014-05-22
          • 1970-01-01
          相关资源
          最近更新 更多