如何在JavaScript中将外部JSON文件读取为字符串?

时间:2019-05-23 18:12:56

标签: javascript json

我有一个外部json文件,正在使用它初始化Web应用程序中的js对象(使用webpack)。

要通过以下方式读取文件:

var myObject = require('json-loader!constants/myfile.json')

应用程序需要随着时间的推移修改对象,有时还需要返回到原始状态。因此,我发现这是初始化和重新初始化(深度克隆)对象的最有效方法:

var clonedObject = JSON.parse(JSON.stringify(myObject))

这种方法似乎是多余的-首先加载json对象,然后对对象进行字符串化以仅再次加载它。

有没有一种方法来读取JSON文件作为字符串,然后JSON.parse对象(因此省略JSON.stringify步骤)?

3 个答案:

答案 0 :(得分:1)

您可以使用raw-loader以字符串形式读取文件:

var jsonString = require('raw-loader!constants/myfile.json');
var obj1 = JSON.parse(jsonString);
var obj2 = JSON.parse(jsonString);

答案 1 :(得分:0)

您可能想先使用Blob读取文件内容。 获取文本内容,然后使用JSON.parse(jsonString)。

答案 2 :(得分:0)

老实说,我太无知了,根本无法保留库,因此我用fs读取JSON文件,如下所示:

var fs=require("fs");
var stuff=JSON.parse(fs.readFileSync("filename","utf8"));

然后非常确定,如果有人愿意,他们可以存储fs.readFileSync()的中间结果

var fs=require("fs");
var originaljson=fs.readFileSync("filename","utf8");
var stuff=JSON.parse(originaljson);