Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:从本地读取JSON_Javascript_Json_Web Deployment Project - Fatal编程技术网

JavaScript:从本地读取JSON

JavaScript:从本地读取JSON,javascript,json,web-deployment-project,Javascript,Json,Web Deployment Project,我想用JavaScript从本地读取JSON文件。文件名为“posts.json”,内容如下: { "post0": "<empty>", //1 "post1": "<empty>", //2 "post2": "<empty>", //3 "post3": "<empty

我想用JavaScript从本地读取JSON文件。文件名为“posts.json”,内容如下:

{
    "post0": "<empty>", //1
    "post1": "<empty>", //2
    "post2": "<empty>", //3
    "post3": "<empty>", //4
    "post4": "<empty>", //5
    "post5": "<empty>", //6
    "post6": "<empty>", //7
    "post7": "<empty>", //8
    "post8": "<empty>", //9
    "post9": "<empty>" //10
}
{
“post0”:“”//1
“post1”:“”//2
“post2”:“”//3
“post3”:“”//4
“post4”:“//5
“post5”:“//6
“post6”:“”//7
“post7”:“//8
“post8”:“”//9
“post9”:“//10
}
此外,我想在代码中编辑JSON文件

我怎么做


对于读取JSON文件,您可以执行以下操作:

const fs = require('fs');

let rawdata = fs.readFileSync('posts.json');
let posts = JSON.parse(rawdata);
console.log(posts);
const fs = require('fs');

let posts = { 
    "post0": "<empty>", //1
    "post1": "<empty>", //2
    "post2": "<empty>", //3
    "post3": "<empty>", //4
    "post4": "<empty>", //5
    "post5": "<empty>", //6
    "post6": "<empty>", //7
    "post7": "<empty>", //8
    "post8": "<empty>", //9
    "post9": "<empty>" //10
};

fs.writeFile('posts.json', posts, (err) => {
    if (err) throw err;
    console.log('Data written to file');
});
要编辑JSON文件,可以执行以下操作:

const fs = require('fs');

let rawdata = fs.readFileSync('posts.json');
let posts = JSON.parse(rawdata);
console.log(posts);
const fs = require('fs');

let posts = { 
    "post0": "<empty>", //1
    "post1": "<empty>", //2
    "post2": "<empty>", //3
    "post3": "<empty>", //4
    "post4": "<empty>", //5
    "post5": "<empty>", //6
    "post6": "<empty>", //7
    "post7": "<empty>", //8
    "post8": "<empty>", //9
    "post9": "<empty>" //10
};

fs.writeFile('posts.json', posts, (err) => {
    if (err) throw err;
    console.log('Data written to file');
});

要读取JSON文件,可以执行以下操作:

const fs = require('fs');

let rawdata = fs.readFileSync('posts.json');
let posts = JSON.parse(rawdata);
console.log(posts);
const fs = require('fs');

let posts = { 
    "post0": "<empty>", //1
    "post1": "<empty>", //2
    "post2": "<empty>", //3
    "post3": "<empty>", //4
    "post4": "<empty>", //5
    "post5": "<empty>", //6
    "post6": "<empty>", //7
    "post7": "<empty>", //8
    "post8": "<empty>", //9
    "post9": "<empty>" //10
};

fs.writeFile('posts.json', posts, (err) => {
    if (err) throw err;
    console.log('Data written to file');
});
要编辑JSON文件,可以执行以下操作:

const fs = require('fs');

let rawdata = fs.readFileSync('posts.json');
let posts = JSON.parse(rawdata);
console.log(posts);
const fs = require('fs');

let posts = { 
    "post0": "<empty>", //1
    "post1": "<empty>", //2
    "post2": "<empty>", //3
    "post3": "<empty>", //4
    "post4": "<empty>", //5
    "post5": "<empty>", //6
    "post6": "<empty>", //7
    "post7": "<empty>", //8
    "post8": "<empty>", //9
    "post9": "<empty>" //10
};

fs.writeFile('posts.json', posts, (err) => {
    if (err) throw err;
    console.log('Data written to file');
});

由于本地文件对脚本语言的限制,我怎么知道可以从服务器加载文件。您可以在本地文件夹中快速设置Web服务器e.q.:

npm i http-server
然后使用以下命令执行:

npm http-server .
它将打开一个localhost:8080,其中显示索引文件。 然后可以通过XMLHttpRequest或JS文件顶部的导入加载json文件。 要编辑加载的文件,可以对其进行分析:

JSON.parse(file-content);

由于本地文件对脚本语言的限制,我怎么知道可以从服务器加载文件。您可以在本地文件夹中快速设置Web服务器e.q.:

npm i http-server
然后使用以下命令执行:

npm http-server .
它将打开一个localhost:8080,其中显示索引文件。 然后可以通过XMLHttpRequest或JS文件顶部的导入加载json文件。 要编辑加载的文件,可以对其进行分析:

JSON.parse(file-content);

首先,您不能使用javascript访问本地目录中的文件。 其次,您可以访问托管在任何服务器上的文件,包括本地主机(通过web URL)。我假设你是在IIS或nodeJs中托管你的应用程序,那么下面的代码就可以了。注意:此处的URL是相对于应用程序的根目录的

// Alias url: http://localhost:4200/post.json
    $.getJSON( "posts.json", function( json ) {
      console.log( "JSON Data: " + json);
      console.log( "particular data Data: " + json.post0 );
     });
您可以像下面这样修改内存中的数据,并在任何地方使用它


    $.getJSON( "posts.json", function( json ) {
     console.log( "JSON Data: " + json);
     json.post0 = 'Another value' );
    });
但这不会更新您的文件。您可以对服务器端进行另一个ajax调用,您的服务器端技术(.net、java或NodeJs)将更新该文件


注意:这里我使用jquery。您可以使用适当的技术。

首先,您不能使用javascript访问本地目录中的文件。 其次,您可以访问托管在任何服务器上的文件,包括本地主机(通过web URL)。我假设你是在IIS或nodeJs中托管你的应用程序,那么下面的代码就可以了。注意:此处的URL是相对于应用程序的根目录的

// Alias url: http://localhost:4200/post.json
    $.getJSON( "posts.json", function( json ) {
      console.log( "JSON Data: " + json);
      console.log( "particular data Data: " + json.post0 );
     });
您可以像下面这样修改内存中的数据,并在任何地方使用它


    $.getJSON( "posts.json", function( json ) {
     console.log( "JSON Data: " + json);
     json.post0 = 'Another value' );
    });
但这不会更新您的文件。您可以对服务器端进行另一个ajax调用,您的服务器端技术(.net、java或NodeJs)将更新该文件


注意:这里我使用jquery。您可以使用适当的技术。

您是在开发NodeJS应用程序还是在浏览器中运行的东西?如果您想像嵌入式db一样使用JSON文件,我建议使用typicode中的模块。您是在开发NodeJS应用程序还是在浏览器中运行的东西?如果您想像嵌入式db一样使用JSON文件,我会从typicode推荐模块。嗨,梅格,谢谢你的帮助。它不起作用。我得到以下错误:uncaughttypeerror:fs.readFileSync不是一个函数,如果您使用的是node.js,它就可以工作。如果要在客户端执行此操作,则需要其他模块。您可以访问本文,了解有关如何读取客户端文件的更多信息:如何包含node.js?node.js实际上是另一个需要考虑的问题。当谈到客户端Javascript时,实际上并不需要Node.js,因为Node.js用于后端目的。它基本上是一个JavaScript运行时环境,在web浏览器之外执行JavaScript代码。嘿,梅格,谢谢你的帮助。它不起作用。我得到以下错误:uncaughttypeerror:fs.readFileSync不是一个函数,如果您使用的是node.js,它就可以工作。如果要在客户端执行此操作,则需要其他模块。您可以访问本文,了解有关如何读取客户端文件的更多信息:如何包含node.js?node.js实际上是另一个需要考虑的问题。当谈到客户端Javascript时,实际上并不需要Node.js,因为Node.js用于后端目的。它基本上是一个JavaScript运行时环境,在web浏览器之外执行JavaScript代码。