JS读取json 文件

json文件是一种轻量级的数据交互格式。一般在jquery中使用getJSON()方法读取。 

$.getJSON(url,[data],[callback])

url:加载的页面地址 
data: 可选项,发送到服务器的数据,格式是key/value 
callback:可选项,加载成功后执行的回调函数 
1.首先建一个JSON格式的文件userinfo.json 保存用户信息。如下: 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[
{
"name" : "张国立" ,
"sex" : "男" ,
"email" : "zhangguoli@123.com"
},
{
"name" : "张铁林" ,
"sex" : "男" ,
"email" : "zhangtieli@123.com"
},
{
"name" : "邓婕" ,
"sex" : "女" ,
"email" : "zhenjie@123.com"
}
]

2.其次建一个页面用于获取JSON文件里的用户信息数据,并显示 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
< title >getJSON获取数据</ title >
< script type = "text/javascript" src = "js/jquery-1.8.2.min.js" ></ script >
< style type = "text/css" >
#divframe{ border:1px solid #999; width:500px; margin:0 auto;}
.loadTitle{ background:#CCC; height:30px;}
</ style >
< script type = "text/javascript" >
$(function (){
   $("#btn").click(function ()  {
     $.getJSON("js/userinfo.json", function (data){
       var $jsontip = $("#jsonTip");
       var strHtml = "123";
       //存储数据的变量
       $jsontip.empty();
       //清空内容
       $.each(data, function (infoIndex, info){
         strHtml += "姓名:" + info["name"] + "< br >";
         strHtml += "性别:" + info["sex"] + "< br >";
         strHtml += "邮箱:" + info["email"] + "< br >";
         strHtml += "< hr >"
       })
       $jsontip.html(strHtml);
       //显示处理后的数据
     })
   })
})
</ script >
</ head >
< body >
< div id = "divframe" >
< div class = "loadTitle" >
< input type = "button" value = "获取数据" id = "btn" />
</ div >
< div id = "jsonTip" >
</ div >
</ div >
</ body >
</ html >

 

da.json

通过ajax获取json数据的实现代码

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title>通过ajax获取json数据的实现代码</title>
<script type= "text/javascript" src= "//www.jb51.net/jslib/jquery/jquery.min.js" ></script>
</head>
<body>
<div id= "ok" ></div>
<script>
$( function () {
     $.ajax({
       type: "POST" ,
       dataType: "json" ,
       url: "da.json" ,
       success: function (result) {
         var str = "" ;
                 $.each(result, function (index,obj){             
                 str += "<a href='" + obj[ "url" ] + "' target='_blank'><img src='" + obj[ "img" ] + "' /></a>" ;                  
                 });
         $( "#ok" ).append(str);
       }
     });
});
</script>
</body>
</html>

通过$.getJSON获取json的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title>通过$.getJSON获取json的代码</title>
<script type= "text/javascript" src= "//www.jb51.net/jslib/jquery/jquery.min.js" ></script>
</head>
<body>
<div id= "ok" ></div>
<script>
$( function (){
$.getJSON( "da.json" , function (data){
var $jsontip = $( "#ok" );
var strHtml = "" ; //存储数据的变量
$jsontip.empty(); //清空内容
$.each(data, function (infoIndex,info){
     strHtml += "<a href='" + info[ "url" ] + "' target='_blank'><img src='" + info[ "img" ] + "' /></a>" ;
})
$jsontip.html(strHtml); //显示处理后的数据
})
})
</script>
</body>
</html>

 

### 使用 JavaScript 读取和写入 JSON 文件 在浏览器环境中,由于安全原因无法直接访问本地文件系统来读写 JSON 文件。然而,在 Node.js 环境下可以轻松实现这一功能。 #### 一、Node.js读取 JSON 文件 为了从文件中加载 JSON 数据并将其解析为对象,可利用 `fs` 模块中的同步方法 `readFileSync()` 或者异步版本 `readFile()`. 下面是一个简单的例子展示如何完成此操作: ```javascript const fs = require('fs'); // 同步方式读取json文件 try { const dataBuffer = fs.readFileSync('data.json'); const jsonData = JSON.parse(dataBuffer.toString()); console.log(jsonData); } catch (err) { console.error(err.message); } ``` 对于更复杂的场景推荐采用回调函数处理错误以及数据流的方式来进行非阻塞式的 I/O 操作[^2]. #### 二、Node.js 中写入 JSON 文件 当需要保存 JavaScript 对象到磁盘上的 JSON 文件时,则应该先通过 `JSON.stringify()` 方法序列化该对象成字符串形式再调用 `writeFileSync()` 函数存储至目标位置: ```javascript const fs = require('fs'); let myObject = { name: 'Alice', age: 25 }; // 将js对象转换为json字符串 const jsonString = JSON.stringify(myObject); // 写入json文件 try { fs.writeFileSync('output.json', jsonString); console.log('成功写入文件'); } catch (err) { console.error(err.message); } ``` 同样地,在生产环境建议使用带有回调机制的 `writeFile()` 实现更好的性能表现.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值