【发布时间】:2021-10-10 21:25:50
【问题描述】:
我正在使用cordova-sqlite-porter 将 SQLite 表导出为 JSON,然后使用使用 svelte 导出的 JSON。
我导出 json 的代码是:
let myDB = '';
let vetdrugs = [];
myDB = window.sqlitePlugin.openDatabase({ name: "vetcalculators.db", iosDatabaseLocation: "Documents" });
var successFn = function(json, count){
vetdrugs = JSON.stringify(json);
};
cordova.plugins.sqlitePorter.exportDbToJson(myDB, {
successFn: successFn,
dataOnly:true,
tables:['vetADrugs']
});
生成的 JSON 是:
{
"data":{
"inserts":{
"vetADrugs":[
{
"drugradio":"single",
"druglabel":"ml",
"conc3":null,
"Id":2,
"dose":10,
"conc1":null,
"maximum":null,
"desc":"",
"title":"Test0",
"notes":"",
"minimum":null,
"conc":100,
"drugconc":"mg/ml",
"conc2":null
},
{
"drugradio":"single",
"druglabel":"ml",
"conc3":null,
"Id":3,
"dose":10,
"conc1":null,
"maximum":4,
"desc":"",
"title":"Test1",
"notes":"",
"minimum":2,
"conc":100,
"drugconc":"mg/ml",
"conc2":null
},
{
"drugradio":"single",
"druglabel":"ml",
"conc3":null,
"Id":4,
"dose":10,
"conc1":null,
"maximum":4,
"desc":"",
"title":"Test2",
"notes":"",
"minimum":2,
"conc":100,
"drugconc":"mg/ml",
"conc2":null
},
{
"drugradio":"single",
"druglabel":"ml",
"conc3":null,
"Id":5,
"dose":10,
"conc1":null,
"maximum":4,
"desc":"",
"title":"Test3",
"notes":"",
"minimum":2,
"conc":100,
"drugconc":"mg/ml",
"conc2":null
}
]
}
}
}
不幸的是,JSON 被导出为:
{
"data":{
"inserts":{
"vetADrugs":[]...
而且我无法将其导出为:
{
"vetADrugs":[]...
通常,在 svelte 中,我会像这样使用 each 函数:
{#each vetADrugs as drugs}
{drugs.title}
{/each}
但我不确定如何将 JSON 的“数据”和“插入”部分合并到每个函数中。任何帮助将不胜感激!
附录: 我确实尝试了以下方法,但没有成功:
{#each vetdrugs.data.inserts.vetADrugs as drug}
<p>
{drug.title}
</p>
{/each}
【问题讨论】:
-
你尝试了什么just work。请确保
vetdrugs变量是预期的 JSON 对象。
标签: arrays json sqlite cordova svelte