json--3.json转换js

1       JSON.parse()--JSON解析器

1.1  概述

JSON 通常用于与服务端交换数据。

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse()方法将数据转换为 JavaScript对象。

 

1.2  语法

 

1.3  实例

 

 

 

1.4  异常

1.4.1   解析 Date 对象数据

JSON 不能存储 Date对象。

如果你需要存储 Date 对象,需要将其转换为字符串。

之后再将字符串转换为 Date对象。

 

启用JSON.parse的第二个参数reviver,一个转换结果的函数,对象的每个成员调用此函数。

 

1.4.2   解析函数(了解)

JSON 不允许包含函数,但你可以将函数作为字符串存储,之后再将字符串转换为函数。

 

2      JSON.stringify()

2.1  概述

JSON 通常用于与服务端交换数据。

在向服务器发送数据时一般是字符串。

我们可以使用 JSON.stringify()方法将 JavaScript对象转换为字符串。

 

2.2  语法

 

2.3  实例

 

 

2.4  异常

2.4.1   解析 Date 对象数据

JSON 不能存储 Date对象。

JSON.stringify() 会将所有日期转换为字符串。

2.4.2   解析函数(了解)

JSON 不允许包含函数,JSON.stringify()会删除 JavaScript对象的函数,包括 key value

 

在执行JSON.stringify()函数前将函数转换为字符串来避免以上问题的发生:

 

3       eval()

3.1  概述

 eval()函数可用于将 JSON文本转换为 JavaScript对象。

eval()使用的是 JavaScript编译器,可解析 JSON文本,然后生成 JavaScript对象。必须把文本包围在括号中,这样才能避免语法错误:

 

3.2  实例

 

推荐使用json解析器

 

 

4      Json字符串

4.1  前后端传递格式

       后台接受json,和前端显示都是以json字符串形式,而SpringMVC传回来的也是字符,但是在success回调函数被调用前将其转换成json对象,然后传给了data,所以data就是封装后的json对象,可以直接通过对象的方式获取值

 

4.2  转换图

json

var = …

alert();    只要调用了js的方法,得到的结果就是js对象


4.3  Json(js)对象转换为json字符串

4.3.1   原生

第一种:使用最原始的for循环自己拼装组合

4.3.2   使用自带json对象

第二种:使用浏览器自带的JSON对象,缺点是兼容性不好,对于ie8以下的版本不支持。

var userinfo = { name: "张三", age: 1, classname: "一年级",friends:["N1","N2","N3"] };
  //Json 对象转换为json字符串
  var s = JSON.stringify(userinfo);4.3.3   引用json2.js的json对象

第三种:引用json2.js ,使用JSON对象转换,兼容所有浏览器
var userinfo = { name: "张三", age: 1, classname: "一年级",friends:["N1","N2","N3"] };
var s = JSON.stringify(userinfo);

4.4  json字符串转换为Json(js)对象 

4.4.1   $.parseJSON()

第一种:使用Ajax 的转换对象
var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}";
var work1 = $.parseJSON(workJsonString);//使用Ajax 

4.4.2   浏览器自带的JSON对象

第二种:使用浏览器自带的JSON对象,缺点是兼容性不好,对于ie8以下的版本不支持。
var userinfo = { name: "张三", age: 1, classname: "一年级",friends:["N1","N2","N3"] };
  //Json 对象转换为json字符串
  var s = JSON.stringify(userinfo);
 

4.4.3   引用json2.js

第三种:引用json2.js ,使用JSON对象转换,兼容所有浏览器
var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}";
var work3 = JSON.parse(workJsonString); 

4.4.4   eval()

第四种:使用eval()对象 注意:json字符串的两端需要加上一个括号
var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}";
var work4=eval("(" + workJsonString + ")");


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值