Как получить локальные данные большого json?Получить локальный файл json на NativeScript
Я попытался это, но я не имел успеха:
var sa = require("./shared/resources/sa.json");
var array = new observableArrayModule.ObservableArray(sa);
Как получить локальные данные большого json?Получить локальный файл json на NativeScript
Я попытался это, но я не имел успеха:
var sa = require("./shared/resources/sa.json");
var array = new observableArrayModule.ObservableArray(sa);
Используйте file-system модуль для чтения файла, а затем разобрать его с JSON.parse()
:
var fs = require('file-system');
var documents = fs.knownFolders.currentApp();
var jsonFile = documents.getFile('shared/resources/sa.json');
var array;
var jsonData;
jsonFile.readText()
.then(function (content) {
try {
jsonData = JSON.parse(content);
array = new observableArrayModule.ObservableArray(jsonData);
} catch (err) {
throw new Error('Could not parse JSON file');
}
}, function (error) {
throw new Error('Could not read JSON file');
});
Вот real life example of how I'm doing it in a NativeScript app, чтобы прочитать 75kb/250 000 символов большого файла JSON.
Я просто хотел добавить еще одну вещь, которая может быть еще проще. Вы можете просто написать содержимое своего файла JSON в файле data.js или любое другое имя, которое вы хотели бы использовать, и экспортировать его в виде массива. Тогда вам может потребоваться только модуль data.js.
Машинопись:
import {knownFolders} from "tns-core-modules/file-system";
export class Something {
loadFile() {
let appFolder = knownFolders.currentApp();
let cfgFile = appFolder.getFile("config/config.json");
console.log(cfgFile.readTextSync());
}
}