Как сохранить данные в локальном файле json в качестве переменной в узле?

enter image description here

Приведенный выше код работает, однако я хотел бы загрузить массив searchStrings из файла JSON.

enter image description here

Моя цель - разместить файл json на общем диске, чтобы мои коллеги могли редактировать имена.

0
0
99
3

Ответы 3

Вы можете использовать следующее:

var someObject = require('./somefile.json')

JSON можно импортировать через require, как и модули Node. (См. Объяснение Бена Наделя.)

Обычно вы хотите сохранить его как глобальную переменную, а не повторно загружать его при каждом событии keyup. Итак, если JSON сохранен как watchlist.json, вы можете добавить

var watchlist = require('./watchlist');

вверху вашего кода. Тогда команда поиска может быть записана (без использования цикла for) как:

kitten = kitten.toLowerCase();
if (watchlist.entities.indexOf(kitten) !== -1) {
  alert('potential watchlist');
}

В последних версиях Node вы можете просто использовать импорт!

CommonJs:

const jsonContent = require('path/to/json/file.json')

ES6:

import jsonContent from 'path/to/json/file.json'

Вы также можете динамически импортировать файлы JSon, например:

if (condition) {
 const jsonContent = require('path/to/json/file.json')
 // Use JSon content as you prefer!
}

Таким образом, вы загружаете свой JSon-файл только в том случае, если он вам действительно нужен, и ваш код будет работать лучше!

Вы предпочитаете олдскульный подход?

ES6:

import fs from 'fs' // or const fs = require('fs') in CommonJs

const JSonFile = fs.readFileSync('path/to/json/file.json', 'utf8')
const toObject = JSON.parse(JSonFile)

// read properties from `toObject` constant!

Надеюсь, поможет :)

Другие вопросы по теме