如何将SQLite导出为JSON?

11
有没有办法在JSON文件上创建SQLite视图?
谢谢。

你是想用编程语言实现吗?如果是,请问你会使用哪种编程语言?或者你是想从命令行实现吗?还是你是想通过某个应用程序来实现(如果是的话,那么是哪个应用程序)? - Ziminji
1
你的问题标题或正文需要编辑。它们在询问两件不同的事情。你是想说“如何将JSON文件导入SQLite?”还是想说“有没有一种方法可以将SQLite视图导出为JSON文件?” - crantok
3个回答

34
在最近的SQLite版本中,这是内置的。下面是代码:
\{\{code\}\}
请注意,这个代码片段可能需要根据上下文进行进一步解释。
sqlite3> .mode json
sqlite3> .once out.json
sqlite3> SELECT * from foo;

将表foo写入out.json

或者直接从命令行操作:

sqlite3 db.sqlite3 '.mode json' '.once out.json' 'select * from foo'

.once命令可以将下一个SQL命令的输出写入指定文件,自从2014年的3.8.5版本中就已经存在于SQLite中。

然而,.mode json命令是较新的功能,是在2020年8月的3.33.0版本中添加的。它随附于Ubuntu 20.10,但旧操作系统中内置的SQLite版本可能没有这个功能。


5

SQLiteStudio (sqlitestudio.pl) 可以将 sqlite3 数据库导出为 JSON。SQLiteStudio 是一个基于 C++ Qt 的开源 GPLv3 许可的应用程序,支持 Linux/macOS/Windows 平台,并有一个 git 代码库:pawelsalawa/sqlitestudio


3

有几种方法可以实现这一点。例如,您可以编写一个自定义程序,通过您喜欢的JSON处理器解析JSON输入,然后生成等效的SQL语句来创建表格、插入行等,然后将其导入到SQLite capable tool (DB Browser for SQLite)中以生成实际的SQLite数据库文件。

我怀疑您很难找到一个通用工具来完成这个任务,因为JSON输入的内容可能会有很大的变化,事实上可能根本不能很好地映射到关系型数据库。


我正在寻找一种将SQLite数据库中的数据可视化为Protovis图表的方法。我猜这不会很容易... - Hugo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接