如何使用HTML读取JSON文件?

时间:2017-07-18 14:38:44

标签: javascript

这是我的代码:

<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<script>
    $(function() {
        var thing = [];
        var bar = $.getJSON('C:\Users\cccompro\foo.json', function(obj) {
            for (i = 0; i < obj.length; i++) {
               thing.push(obj[i]);
            }
        });
    });
</script>

我不确定为什么它不起作用。 &#34; foo.json&#34;包含一组对象。

2 个答案:

答案 0 :(得分:1)

如果没有浏览器权限,您无法直接从用户硬盘读取文件。如果您有办法允许这样做(结账客人回答),这将是一个巨大的安全问题。

然而,您可以尝试让用户选择该文件,然后使用Javascript读取它。 这称为HTML 5文件API。

但是,这对任何浏览器都不起作用,在这种情况下你可能不得不使用服务器。

有关此结帐thisthis帖子的更多信息。

答案 1 :(得分:1)

如果您在Chrome或Chromium浏览器的问题区域中尝试使用此代码,请启动设置了--allow-file-access-from-files标记的浏览器实例。请注意,启动浏览器时应关闭Chrome或Chromium的打开实例,否则将使用打开的浏览器实例启动实例。配置文件夹,而不是标志设置。您可以在现有实例打开的情况下启动Chrome或Chromium,并使用--user-data-dir标记来启用该标记,并将值设置为与打开的Chrome或Chromium实例不同的目录。

从技术上讲,也可以在不使用带window.webkitRequestFileSystem的扩展名的情况下写入用户文件系统。虽然在扩展中使用chrome.fileSystem提供了一个旨在实现读/写的API。

使用<input type="file">元素