Как загрузить локальный JSON-файл в java-скрипт без jquery

Надеюсь, это не дублирующий вопрос, но я не смог найти удовлетворительного ответа.

Мне нужно найти способ импортировать файл JSON javascipt из локальной файловой системы без использования каких-либо библиотек Jquery или серверных функций.

Я создаю сценарий Power Shell, в котором я экспортирую несколько объектов в формате JSON. Я хочу затем взять этот объект и импортировать его в локальный отчет HTM с JavaScript. Это означает, что он будет запускаться и считываться локально, без каких-либо компонентов на стороне сервера. Я также не могу использовать JQuery или любые другие внешние сценарии, поскольку я хочу, чтобы все это было автономным и записывалось при выполнении моего сценария powershell...

Я пробовал это:

function loadJSON(path, success, error)
{
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function()
    {
        if (xhr.readyState === 4) {
            if (xhr.status === 200) {
                if (success)
                    success(JSON.parse(xhr.responseText));
            } else {
                if (error)
                    error(xhr);
            }
        }
    };
    xhr.open("GET", path, true);
    xhr.send();
}

loadJSON('./test.js',
         function(data) { console.log(data); },
         function(xhr) { console.error(xhr); }
);

Но, конечно, это происходит с ошибкой, утверждающей, что XMLHttpRequest может использоваться только как HTTP-запрос сервера, а не как локальный файл-запрос.

Спасибо за любую помощь, которую вы можете предоставить.

1 ответ

Решение

Почему бы вам просто не прочитать файл построчно, используя простую обработку файлов javascript, а затем проанализировать его как JSON, используя анализатор JSON. Или же из вашего кода я вижу, что ваш JSON на самом деле не хранится в файле.json, а хранится в нем. в файле.js, так что если его как

Пример кода test.js

var a = [
{
...
},
{
...
}
];

Затем вы можете включить его в простой файл js, как любой другой файл js, а затем напрямую использовать переменную "a".

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