node-webkit读取json文件
1、原理
node-webkit包含了node.js,node.js提供了处理json数据文件的方法,通过node.js提供的方法,我们可以比较方便地读取json文件。
2、示例
这里我们读取的文件是包外的json文件,也就是说,该文件无需与运行的那三个文件一起打包。
a、新建index.html文件,我们将读取的json数据在index.html文件中显示出来
1 <html> 2 <head> 3 <title>read json file</title> 4 <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> 5 <script type="text/javascript" src="script.js"></script> 6 </head> 7 <body > 8 9 <div id="info"><div> 10 </body> 11 </html>
b、新建package.json文件文件内容如下
1 { 2 "name": "nw-demo", 3 "main": "index.html" 4 }
c、新建json.json文件,这是我们要读取的文件,我们将它放于C:\Users\user\dome\testjson这个路径下。文件内容如下
1 { 2 "tclass":"计算机", 3 "students":[{ 4 "id":1, 5 "name":"zhangsan", 6 "age":20, 7 "gender":"meal" 8 },{ 9 "id":1, 10 "name":"zhangsan", 11 "age":20, 12 "gender":"meal" 13 }] 14 }
d、新建script.js文件,文件内容如下
1 var fs = require('fs'); //加载node.js处理json的相关模块 2 3 fs.readFile('C:/Users/user/dome/testjson/json.json',function(err,data){//指定json.json文件路径 4 if(err) throw err; 5 var jsonObj = JSON.parse(data); //转换成json对象 6 var clas = jsonObj.class; //计划模式数组 7 var info="id name agae gender</br>"; 8 var students = jsonObj.students; 9 for(var i = 0; i < students.length; i++){ 10 var student = students[i]; 11 info += student.id + " " + student.name + " " + student.age + " " +student.gender + "</br>"; 12 } 13 var infodiv = document.getElementById("info"); 14 infodiv.innerHTML=info; 15 }) 16
将index.html、package.json、script.js三个文件压缩成zip包(三个文件在根目录下),重命名为testjson.nw.运行。注意的是json.json文件的路径不能错。运行结果如下: