get/read JSON 来自 IndexedDB 的文件来自 Angular
get/read JSON File from IndexedDB via Angular
我想要 read/write 一个 JSON- 文件,该文件是从我的 IndexedDB 中的框架 (GoDot 3.1) 保存的。
我使用 Angular 和 Ngx-Indexed-DB 来获取这样的文件:
import { Component, OnInit } from '@angular/core';
import { NgxIndexedDB } from 'ngx-indexed-db';
@Component({
selector: 'app-database',
templateUrl: './database.component.html',
styles: ['./database.component.scss']
})
export class DatabaseComponent implements OnInit{
constructor() { }
ngOnInit() {
let db = new NgxIndexedDB('/userfs');
db.openDatabase(21, evt => {
/* Do something */
}).then(function(){
db.getAll('FILE_DATA', 1).then(
FILE_DATA => {
console.log(FILE_DATA);
},
error => {
console.log(error);
});
});
}
}
但结果不是 json 文件:
我想从 IndexedDB 中读取和解析 json,如果我能在 IndexedDB 中再次保存修改后的 JSON-File 就好了。有人可以帮助解决这个问题吗?
解决方案:
import { Component, OnInit } from '@angular/core';
import { NgxIndexedDB } from 'ngx-indexed-db';
@Component({
selector: 'app-database',
templateUrl: './database.component.html',
styles: ['./database.component.scss']
})
export class DatabaseComponent implements OnInit{
constructor() { }
ngOnInit() {
let db = new NgxIndexedDB('/userfs');
db.openDatabase(21, evt => {
/* Do something */
}).then(function(){
db.getAll('FILE_DATA').then(
FILE_DATA => {
let levelSpec = new TextDecoder().decode(FILE_DATA[1].contents)
console.log(levelSpec);
},
error => {
console.log(error);
});
});
}
}
结果将是解析后的 json 文件:
我想要 read/write 一个 JSON- 文件,该文件是从我的 IndexedDB 中的框架 (GoDot 3.1) 保存的。
我使用 Angular 和 Ngx-Indexed-DB 来获取这样的文件:
import { Component, OnInit } from '@angular/core';
import { NgxIndexedDB } from 'ngx-indexed-db';
@Component({
selector: 'app-database',
templateUrl: './database.component.html',
styles: ['./database.component.scss']
})
export class DatabaseComponent implements OnInit{
constructor() { }
ngOnInit() {
let db = new NgxIndexedDB('/userfs');
db.openDatabase(21, evt => {
/* Do something */
}).then(function(){
db.getAll('FILE_DATA', 1).then(
FILE_DATA => {
console.log(FILE_DATA);
},
error => {
console.log(error);
});
});
}
}
但结果不是 json 文件:
我想从 IndexedDB 中读取和解析 json,如果我能在 IndexedDB 中再次保存修改后的 JSON-File 就好了。有人可以帮助解决这个问题吗?
解决方案:
import { Component, OnInit } from '@angular/core';
import { NgxIndexedDB } from 'ngx-indexed-db';
@Component({
selector: 'app-database',
templateUrl: './database.component.html',
styles: ['./database.component.scss']
})
export class DatabaseComponent implements OnInit{
constructor() { }
ngOnInit() {
let db = new NgxIndexedDB('/userfs');
db.openDatabase(21, evt => {
/* Do something */
}).then(function(){
db.getAll('FILE_DATA').then(
FILE_DATA => {
let levelSpec = new TextDecoder().decode(FILE_DATA[1].contents)
console.log(levelSpec);
},
error => {
console.log(error);
});
});
}
}
结果将是解析后的 json 文件: