node.js解析本地json

具体操作:

​ 从文件读取json并且解析字符串为json对象

1.从文件读取json

​ node.js中的文件操作基本都是在fs模块中,这里用的是同步读取文件,读出来是个字符串。

const fs    = require('fs');
var jsonfile = fs.readFileSync(__dirname+"/test.json", "utf8");
console.log(jsonfile);
  • 其中require('fs'): 导入fs模块
  • readFileSync("文件路径",“编码格式”)
    • 注:使用的是同步的方式读取的文件

2.解析json字符串为json对象

jsonplust是解析json的一个开源库使用非常简单。 

安装:

npm install --save-dev jsonplus

使用:

var jsonplus = require('jsonplus');
// Parse like you would with JSON.parse
var response = jsonplus.parse(jsonfile);
console.log(response["type"]);
  • 其中require('jsonplus')导入jsonplus模块
  • jsonplus.parse(jsonfile)
    • jsonfile是刚刚从json文件中读出来的字符串
  • 接着就可以用json对象的方式访问里面的数据了。

扩展:

该模块还可以使用模板方法:

Resolve函数:

var resolve = require('jsonplus').resolve

// This will resolve all reference strings on the given object
var object = resolve(AlreadyParsedJSON);

// resolve has a second argument, which provides the context for references
var object = resolve({ full: '{{ first }} {{ last }}' }, { first: 'john', last: 'doe' });

console.log(object) // { full: 'john doe' }

参考资料-github地址

Q.E.D.