小技巧之JSON.stringify()/parse()
JSON
JSON.stringify()用于把一个JSON对象(恩,javascript中万物皆对象),转化为一个字符串。
直接使用var obj = [ { name:'Jansen1',age:18,sex:'boy' },{ name:'Jansen2',{ name:'Jansen3',{ name:'Jansen4',sex:'boy' } ]; var myStringObj = JSON.stringify(obj);
可以看到,通过该操作就可以把obj转化为字符串啦。 第二个参数replacerJSON.stringify呢不仅仅可以直接转化字符串,还能有条件的转化字符串,这个时候就要用到第二个参数了.
第三个参数-space格式化参数文本添加缩进、空格和换行符,如果space是个数字的化,最大值是10,过10为10
可以看到,在控制台输出的代码变的很规整了。 JSON.parse()JSON.parse只拥有两个参数,第一个就是把这个字符串转换为JSON对象,第二个就是筛选对象 var testJSON = [ { "name": "Jansen1","age": 18,"sex": "boy" },{ "name": "Jansen2","age": 2,"sex": "girl" },{ "name": "Jansen3","age": 19,{ "name": "Jansen4","age": 22,{ "name": "Jansen5",{ "name": "Jansen6",{ "name": "Jansen7",{ "name": "Jansen8","sex": "boy" } ]; var newJSON = JSON.parse(JSON.stringify(testJSON,val)=>{ if(key === 'sex'){ return val === 'boy' ? 'male' : 'female'; } if(key === 'age' && val < 20){ return val } else if(key !== 'age'){ return val; } },4))
是不是很容易呢 兼容性这两个方法在IE8级以上都能够实用,需要兼容低版本的浏览器,可以在代码里引用json2.js 链接里的代码就是自己实现的一个JSON,当浏览器能检测到有JSON的时候,就会用现在的,如果检测不到,才会执行代码。 有兴趣的可以先想想不带参数的JSON.stringify如何实现再去看看这个链接里的写法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |