我有很長的 json,看起來有點像這樣:
{
"section: [
[stuff]
]
}
我目前正在這樣做以將其放入我的 js 代碼中:
var obj = {
// {All the stuff from above}
}
我想將它放入一個 json 檔案中,該檔案可以在本地匯入到 js 腳本中,以像這樣作業:
var obj = "path/file.json";
讓它以同樣的方式作業
uj5u.com熱心網友回復:
您可以通過 fetch 使用AJAX。
const pathToJson = "./path/file.json";
fetch(pathToJson)
.then(res => res.json())
.then(json => {
console.log(json.section);
});
注意:這只適用于服務器。如果您正在使用該file:///協議,請切換到常規服務器,例如,如果您安裝了 Python,則可以在您的目錄中運行:python3 -m http.server.
另一種(非理想)替代方法是使用您的 JSON 創建另一個 JavaScript 檔案。在里面放了類似的東西:
var obj = {
"section": {
...
}
}
然后,您可以在運行腳本之前將其鏈接到 HTML 中的腳本標記中:
<script src="./json-data.js"></script>
<script src="./my-script.js"></script>
并在my-script.js:
console.log(obj.section); // {...}
uj5u.com熱心網友回復:
將 fetch 與 async 一起使用將允許您在沒有回呼的情況下使用它。
更多細節在這里:https ://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
async function loadJSON() {
var file = await fetch("/path/to/file.json");
var obj = await file.json();
// use object like usual here
}
loadJSON();
uj5u.com熱心網友回復:
您可以像這樣在代碼中要求該 JSON 檔案
const jsonData = require("./json-file-path");
如果您使用的是 ES6:
import jsonData from ('./json-file-path');
您還需要將此"resolveJsonModule": true選項添加到您的 tsconfig.jsoncompilerOptions物件中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435527.html
標籤:javascript json
