这是我的问题。在我的脚本中,我在变量中有一个Json存储。我想将json存储在本地文件中。 (这将是一个数据库,因为我想要一个没有太多组件的独立且易于使用的网站。)
现在,我有这个
var data = [{
"id": 1,
"oeuvre": "choppe",
"type": "Objet d'art",
"artist": "Etienne",
"sheet": "<a href=\"desc.html\">fiche</a>",
"dt": "01/01/2019"
}, {
"id": 2,
"oeuvre": "montre",
"type": "Orfèvrerie",
"artist": "Etienne",
"sheet": "<a href=\"desc.html\">fiche</a>",
"dt": "01/01/2019"
}]
我想要这样的东西:
var data = $.getJSON("json/data1.json")
但似乎找不到文件...
有人有主意吗?
预先感谢
最诚挚的问候
答案 0 :(得分:1)
如果要使用本地文件,则需要使用FileReader。这意味着您需要手动选择json文件。
function readJsonFromLocal() {
var file = document.getElementById("file");
var fr = new FileReader();
fr.readAsDataURL(file.files[0]);
fr.onloadend = function (event) {
var strJson = atob(event.target.result.substring(event.target.result.indexOf("base64,") + 7));
var jsonObj = JSON.parse(strJson);
}
}
,您需要将json下载为字符串。这是下载的json代码:
function downloadJsonFile() {
var a = $("</a>");
var url = URL.createObjectURL(new Blob([JSON.stringify(jsonObj)], { type: 'text/json' }));
$(a).attr("download", "System.json").attr("href", url);
}
答案 1 :(得分:0)
$。getJSON是异步的,因此您应该这样做:
$.getJSON("test.json", function(json) {
console.log(json); // this will show the info it in firebug console
});