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