从 MYSQL 获取数据并显示在 JSON 文件中
Posted
技术标签:
【中文标题】从 MYSQL 获取数据并显示在 JSON 文件中【英文标题】:Fetch data from MYSQL and display in JSON file 【发布时间】:2012-05-27 11:54:18 【问题描述】:我正在构建一个从我的 mysql 数据库中获取数据的 ios 应用程序,因此我需要使用 JSON(我知道其他方法,但我需要专门使用 JSON)。问题是,我如何从我的 mysql 数据库中获取数据并将其写入 JSON 格式的文件(最好使用 php)。
任何链接、教程或源代码将不胜感激!
【问题讨论】:
JSON 文件??我假设您的意思是将重新调整的 MySQL 存储在 JSON 对象(如 JSON 数组)中? 是的,你是对的,我会解决的! 【参考方案1】:将您的数据库行检索到一个数组中,并将json_encode()
的输出写入带有适当标题的输出缓冲区:
// Modify the fetch call for the MySQL API you're using:
// This is MySQLi...
$results = array();
while ($row = result->fetch_assoc())
// All results onto a single array
$results[] = $row;
// Supply header for JSON mime type
header("Content-type: application/json");
// Supply the Content-Disposition header if you want the browser
// to treat the file as a download and prompt to save it.
// Leave this out if that isn't what you want (I suspect it isn't)
header('Content-Disposition: attachment; filename="file.json"');
// Depending on how you want the JSON to look, you may wish to use
// JSON_FORCE_OBJECT
echo json_encode($results, JSON_FORCE_OBJECT);
从浏览器的角度来看,它正在接收一个 JSON 文件,尽管 PHP 正在为它提供服务。
如果您确实需要保存 JSON 文件而不仅仅是输出它,请使用file_put_contents()
file_put_contents('file.json', json_encode($results, JSON_FORCE_OBJECT));
// Read it back out with
echo file_get_contents('file.json');
// Or more simply
file('file.json');
【讨论】:
@MateusNunesecho
在两个示例中都输出它,或者file()
从磁盘读取并一次性输出到浏览器。【参考方案2】:
只需使用json_encode
... code that builds an array from any source you like
header('Content-type: application/json');
echo json_encode($anArray);
die;
【讨论】:
【参考方案3】:从 mysql 获取数据并使用 json_encode()
编码为 json
使用fopen()
和fwrite()
写入文件
【讨论】:
以上是关于从 MYSQL 获取数据并显示在 JSON 文件中的主要内容,如果未能解决你的问题,请参考以下文章
从MySQL获取数据并使用JSON在ListView中显示它
从本地 json 文件中获取数据并显示在 html asp.net mvc 中