php - 将 mysql 数据转换为 json 对象
Posted
技术标签:
【中文标题】php - 将 mysql 数据转换为 json 对象【英文标题】:php - convert mysql data into json object 【发布时间】:2017-05-04 02:58:52 【问题描述】:我使用 codeigniter。我想从数据库中检索数据并将其转换为 JSON 对象而不是 JSON 数组。我正在使用以下代码
public function json()
$content = $this->db->get('todolist'); //todolist table name
$data = $content->result_array();
echo json_encode($data);
以上代码是将数据库转换为 JSON 数组。 输出
["todo_id":"1","todo_content":"Homework","date":"2016-05-05","iscomplete":null,"imagelink":"Lighthouse.jpg","todo_id":"2","todo_content":"exam","date":"2015-04-21","iscomplete":null,"imagelink":"Desert.jpg","todo_id":"3","todo_content":"Lab report","date":"2014-08-29","iscomplete":null,"imagelink":"FB_IMG_14700753538617403.jpg"]
将其转换为 JSON 对象的最佳方法是什么
【问题讨论】:
你希望对象的键是数字的吗?为什么还要强制一个对象? 【参考方案1】:Sangam 尝试理解这个概念,检查以下行:
$data = $content->result_array(); // $data is an array
echo json_encode($data); // here you are converting it into an json object
您的 $data
数组中包含多个索引,这就是 json 对象在 []
中包含多个 的原因;
【讨论】:
点赞!这就是你真正发生的事情。如果要处理值,则需要通过 javascript 迭代该对象。【参考方案2】:你想json_encode($data, JSON_FORCE_OBJECT)
。
JSON_FORCE_OBJECT 标志,顾名思义,强制 json 输出成为一个对象,即使它通常会被表示为一个数组。
参考:php Array to Json Object
【讨论】:
【参考方案3】:您可以使用JSON_FORCE_OBJECT 参见下面的示例。
echo json_encode($data, JSON_FORCE_OBJECT);
【讨论】:
【参考方案4】:假设您只从查询中返回一行。
改变
echo json_encode($data);
到
echo json_encode($data[0]);
【讨论】:
以上是关于php - 将 mysql 数据转换为 json 对象的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 数据从 PHP 到带有 JSON 的 Javascript