我想把我数据库的数据导出到下面的json格式,我已经试过了,但是我只能显示一个表,不能显示整个表。
CREATE TABLE generic (
id INTEGER NOT NULL PRIMARY KEY,
errorCode INT,
errorMsg TEXT,
PRIMARY KEY (id)
);
CREATE TABLE generic_data (
generic_id TEXT,
id INT,
name TEXT,
ovpn TEXT,
category TEXT,
PRIMARY KEY (id),
FOREIGN KEY (generic_id) REFERENCES generic(id)
);
CREATE TABLE generic_data_children (
generic_data_id INT,
id INT,
name TEXT,
config TEXT,
PRIMARY KEY (id),
FOREIGN KEY (generic_data_id) REFERENCES generic_data(id)
);
这是我的数据库信息和表列供参考
应为json格式:
{
"data": [{
"children": [{
"id": 1,
"name": "Default",
"config": "config1"
}, {
"id": 2,
"name": "sample",
"config": "config2"
}, {
"id": 3,
"name": "sample2",
"config": "config3"
}, {
"id": 4,
"name": "testnetwork",
"config": "config4"
}, {
"id": 5,
"name": "sample5",
"config": "config5"
}],
"id": 1,
"name": "PH-Philippines 1",
"ovpn": "testovpn",
"category": "Private"
}],
"errorCode": 0,
"errorMsg": ""
}
1条答案
按热度按时间xxls0lw81#
你可以用
JSON_ARRAY()
,GROUP_CONCAT()
以及JSON_OBJECT()
共同起作用演示
使用
REPLACE()
最后需要函数来格式化双引号相关的内容。顺便说一句,摆脱
PRIMARY KEY
重复第一个表,并转换generic_id
列到INT
在第二张table里。