我有兴趣将一部分值从 MySQL 数据库导出到磁盘上的 JSON 格式文件。
我找到了一个链接,其中讨论了一种可能的方法:http://www.thomasfrank.se/mysql_to_json.html
...但是当我使用该页面中的方法时,它似乎可以工作,但有两个问题:
1) 它只返回大约 15 个结果,最后一个被突然切断(不完整)。我的标准查询返回大约 4000 个结果,当我将它作为 SELECT name, email FROM students WHERE registered IS NULL
运行时
但是当我运行它时:
SELECT
CONCAT("[",
GROUP_CONCAT(
CONCAT("{name:'",name,"'"),
CONCAT(",email:'",email,"'}")
)
,"]")
AS json FROM students WHERE enrolled IS NULL;
... 如链接中所述,它仅返回(如我所述)15 个结果。 (fwiw,我根据我应该得到的 4000 检查了这些结果,这 15 个与 4000 的前 15 个相同)
2) 当我将 INTO OUTFILE '/path/to/jsonoutput.txt' FIELDS TERMINATED BY ','
添加到末尾时,实际文件中似乎包含“转义”字符那个查询。所以逗号最终看起来像 '\,' 显然我只想让逗号没有\。
关于如何从 MySQL 获取正确的 JSON 输出的任何想法? (使用这种方法,还是其他方法)?
谢谢!
最佳答案
如果你有 Ruby,你可以安装 mysql2xxxx gem(不是 mysql2json gem,它是一个不同的 gem):
$ gem install mysql2xxxx
然后运行命令
$ mysql2json --user=root --password=password --database=database_name --execute "select * from mytable" >mytable.json
gem 还提供 mysql2csv
和 mysql2xml
。它不如 mysqldump 快,但也没有 mysqldump 的一些怪异之处(比如只能从与 MySQL 服务器本身相同的计算机转储 CSV)
https://stackoverflow.com/questions/5036605/
相关文章:
ajax - 在 Chrome 中使用本地文件的 jQuery getJSON 问题
java - jackson - 将 java 列表写入 json 数组的最佳方法
javascript - bigint : 12000000000002539 is convert
java - 在 Java 中合并(Concat)多个 JSONObject
javascript - 用单引号将字符串解析为 JSON?
java - Spring REST多个@RequestBody参数,可能吗?
javascript - toJSON() 和 JSON.Stringify() 之间的区别