我从数据库中获取数据作为数组,然后将其输出为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中的数组有什么问题...
答案 0 :(得分:0)
问题出在DB用户名字段中的字符不正确,导致JSON错误。