在没有服务器的情况下加载 JSON 文件
Load a JSON file without server
我有一个很大的 json 文件 (+-10mb)。我想在位于 HTML 网页的 Javascript 函数中加载此 json 文件 (myjson.json)。我在 google 上找到了很多答案,比如 "rename to myjson.js" 和添加 var data = " yourjson"
并且在你的 html 文件中包含 myjson.js 并访问变量数据。这不是我想要的。我想在没有 renaming/altering 且没有网络服务器的情况下加载 JSON 文件(否 AJAX)。
谁能帮帮我?
$.getJSON('myjson.json', function(myjson) {...}
不会工作。
包括 css 和 js 功能是如此简单为什么没有网络服务器就无法访问本地存储的 json 文件?
编辑:json 文件第一行
[{"participants": ["a", "b"], "conversation": [{"sender": "b", "created_at": "2019-09-23T22:04:42.083698+00:00", "text": "xxx"},
编辑:添加我的 js 以进行说明
编辑:不能,因为我在移动设备上,代码格式在这里不起作用
不幸的是,XHR 和 Fetch API 都与 HTTP 密不可分,除非涉及 HTTP 服务器,否则不能用于从相对路径加载资源。如果您通过 file:
URL 加载页面,您将无法使用 XHR 或 Fetch 获取该数据。
只有两种方法可供您使用:
切换到 JavaScript 而不是常规 JSON 并使用 <script>
标签(正如之前在另一个答案中向您建议的那样)
允许用户 drag/drop JSON 文件(或使用 <input type="file">
)获取您随后可以加载的文件引用。
我认为您正在寻找 FileReader:https://developer.mozilla.org/en-US/docs/Web/API/FileReader
如果你有它的工作,看看 JSON.parse(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
我有一个很大的 json 文件 (+-10mb)。我想在位于 HTML 网页的 Javascript 函数中加载此 json 文件 (myjson.json)。我在 google 上找到了很多答案,比如 "rename to myjson.js" 和添加 var data = " yourjson"
并且在你的 html 文件中包含 myjson.js 并访问变量数据。这不是我想要的。我想在没有 renaming/altering 且没有网络服务器的情况下加载 JSON 文件(否 AJAX)。
谁能帮帮我?
$.getJSON('myjson.json', function(myjson) {...}
不会工作。
包括 css 和 js 功能是如此简单为什么没有网络服务器就无法访问本地存储的 json 文件?
编辑:json 文件第一行
[{"participants": ["a", "b"], "conversation": [{"sender": "b", "created_at": "2019-09-23T22:04:42.083698+00:00", "text": "xxx"},
编辑:添加我的 js 以进行说明
编辑:不能,因为我在移动设备上,代码格式在这里不起作用
不幸的是,XHR 和 Fetch API 都与 HTTP 密不可分,除非涉及 HTTP 服务器,否则不能用于从相对路径加载资源。如果您通过 file:
URL 加载页面,您将无法使用 XHR 或 Fetch 获取该数据。
只有两种方法可供您使用:
切换到 JavaScript 而不是常规 JSON 并使用
<script>
标签(正如之前在另一个答案中向您建议的那样)允许用户 drag/drop JSON 文件(或使用
<input type="file">
)获取您随后可以加载的文件引用。
我认为您正在寻找 FileReader:https://developer.mozilla.org/en-US/docs/Web/API/FileReader
如果你有它的工作,看看 JSON.parse(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse