JSOn解析问题-数组中

时间:2019-05-21 10:41:46

标签: json parsing

我从数据库中获取数据作为数组,然后将其输出为JSON。

我的代码的某些部分:

 private function getUsers( ){
    $users = $this->db->resource(dbMapper::USER);
 return $this->usersToArray( $users );}

 private function usersToArray( $users ){
        $result = array( );
        foreach ($users as $user){
            $result[] = array(
                'id'            => intval( $user->get('id') ),
                'name'          => $user->get('name')
            );
        }
        return $result;
    }

    public function getAllData( ){ 
        $result = array( );
        $result['users'] = $this->getUsers( );
        $results = print_r($result['users'], true); echo $results;
        return $result;
    }

,然后从此结果中获取JSON:

  $data = $model->getAllData( );
        $this->_helper->json( $data );

JSON输出如下所示(我删除了用于调试的数据),但是即使没有数据,我在Array的首字母中也存在语法错误:

在我的浏览器中,我得到了以下信息: SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符

如果我将JSOn放到JSON验证程序中,我会得到:

第1行解析错误: Array([0] => A ^ 期望'STRING','NUMBER','NULL','TRUE','FALSE','{','[',得到'undefined'

Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
        )

    [2] => Array
        (
        )

    [3] => Array
        (
        )

    [4] => Array
        (
        )

不确定JSON中的数组有什么问题...

1 个答案:

答案 0 :(得分:0)

问题出在DB用户名字段中的字符不正确,导致JSON错误。