【发布时间】:2015-04-17 14:36:39
【问题描述】:
我正在从sqlite database(这里没有选择)导出数据以为 AngulaJS 应用程序生成 JSON。
从 SQLite 导出 JSON
sqlite3CSV 导出展平关系结构并添加重复:
[
{
"bid": 5, // book id
"aid": 4, // author's id
"tags": 3,
"title": "Jacques le fataliste et son maître",
},
{
"bid": 5,
"aid": 23, // same book another author
"tags": 8, // same book another tag
"title": "Jacques le fataliste et son maître",
}
…
]
SQLite 转 JSON 命令
sqlite database 可以在 github 上找到,我用来导出/转换的命令是:
sqlite3 -csv -header app/data/data.sqlite3 \
"SELECT b.id as bid, title, b.sort as sort_book, a.id as aid, a.sort as sort_author, path, name FROM books as b inner join books_authors_link as b_a ON b.id = b_a.book INNER JOIN authors as a ON a.id = b_a.author" \
| ./node_modules/csvtojson/bin/csvtojson \
> authors-books.json
JSON 目标
我与客户一起以面向文档的方式设计了最终的 JSON:
- 我在一个对象中所需要的一切;
- 对其他资源的引用为
- 外键的id/主键;
- 多对多关系的_id_s/主键列表。
这是一个例子:我的目标:
[
{
"id": 2,
"authors": [4, 23],
"tags": [3,8,29,69],
"title": "Jacques le fataliste et son maître",
…
}
…
]
如果你说法语,这里是github issue from the project
问题
那么如何使用命令行管道或基于 javascript 的工具获得此结果?
【问题讨论】:
标签: json sqlite underscore.js export-to-csv jq