【发布时间】:2013-09-19 22:49:05
【问题描述】:
我正在从 controller 中的 MySQL 数据库中以 JSON 格式输出数据,就像这样,
function byId(){
$this -> load -> model('usermodel');
$data['user'] = $this -> usermodel -> getById($this->uri->slash_segment(3));
$this -> output -> set_content_type('application/json');
$this -> output -> set_output(json_encode($data));
}
型号:
function getById($id){
$this->db->select('*');
$this->db->from('members');
$this->db->where('id', $id);
$q = $this -> db -> get();
if ($q -> num_rows() > 0) {
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
这样输出数据,
{"user":[{"id":"3","firstname":"Frances","lastname":"Johnson","address":"489 Summit Lane","state":"Minnesota","country":"US","email":"fjohnson@teklist.net","phone":null,"experience":"2","designation":"Script"}]}
但我需要这样,
{user : {....} }
基本上我想去掉方括号。
我可以在我的代码中进行哪些更改以获得预期的输出?
【问题讨论】:
-
如果不知道
Usermodell::getById方法的作用,就很难说清楚。从 json 输出中,您似乎得到了一个带有编号键的数组(例如数据库查询中的多行),而不是您期望的单行。var_dump($data['user'])长什么样子? -
让我编辑它以提供更多信息。
标签: php codeigniter