JSON

 

JSON

简单值,对象,数组都可以说成是JSON

 

原生JSON 对象(ie 8+  才支持 )有2个方法

var book = {author:'allen'};

//讲对象转成字符串
var bookStr = JSON.stringify(book);

//字符串转化成JSON
var bookCopy = JSON.parse(bookStr);

 

建议使用jQuery的json 解析方法

//标准的JSON 字符串
var str='{ "name": "John" }';

//转成对象
var obj = jQuery.parseJSON(str);

//转成字符串
var strCopy = jQuery.stringifyJSON(obj);

 

不过就目前所接触到的方法基本上都是在Ajax 中使用到JSON 而从后台传递过来,也有想对应的JSON 转化工具 所以在前台转化JSON的场景也并不多。

 

原生JSON的

过滤方法

var book = {author:'lee',name:'javascript',price:23};

var str = JSON.stringify(book,["author","price"]);
//str = '{"author":"lee","price","23"}';
//如果第二个参数是数组的话 就是只序列化 数组里面的属性

var str = JSON.stringify(book,function(key,value){

     if(key == 'author'){
         return 'abc';
     }
     return value;

})

//str = '{"author":"abc" ...}'
//将author 对应的值改成abc

 

缩进

JSON.stringify(obj,null,4);
//缩进4个字符串

 

toJSON方法

var obj = {name:'a',toJSON:function(){return this.age},age:12};

var ret = JSON.tostringify(obj);

//ret = 12;

//JSON.stringify 方法执行顺序
//1 存在toJSON 并且通过方法能取得有效值,那么就调用方法,否则返回对象本身
//2 如果存在第二个参数,应用这个过滤器,传入过滤器的值是1的结果

 

 解析

JSON.parse(obj,function(key.value){
    if(key == 'name'){
         return 'ac';
   }
   return value ; 
})

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值