标签:
2016-05-03
2016-05-03
Json是一种简便的数据结构,是JavaScript的子集。解析就是把json数据解析为javascript代码,序列化就是把javascript数据包装成json。
json可以支持三种数据类型:
1.简单值。数字,字符,布尔值,不支持undefined
2.对象
3.数组
1 100 2 "textstrings" 3 true 4 null 5 { 6 "name":"leeho", 7 "age":13 8 } 9 [123,"strings","null"]
一般格式为
[{"name":"a","age":34},{"name":"f","age":23}]
用JavaScript 代码模拟加载一个JSON 文件
并检测浏览器是否支持JSON 对象
1 //模拟加载json文件 2 var json=‘[{"name":"a","age":34},{"name":"f","age":23}]‘; 3 //测试浏览器是否支持alert(typeof JSON);
解析函数parse两种用法示例
//解析函数parse参数示例 //直接调用 var box=JSON.parse(json); //带第二个参数,用于更改解析内容,即JSON 数组中某个对象的键值对的值 var box=JSON.parse(json,function(name,value){ if(name==‘name‘) return this.name+‘yubo‘; else return value; }); alert(box[0].name);
序列化函数三种用法示例,也可以在需要序列化的JavaScript 代码中定义成员函数toJSON,作为键值对
筛选出需要序列化的某组键值对;
//序列化 var box2=[{name:"ty",age:10},{name:"yugoo", //选定对象中可以被序列化的成员,过滤对象成员 age:66, toJSON:function() {return this.age;}}]; //stringify参数用法 //不带参数序列化 var s=JSON.stringify(box2); //指定第二个参数,筛选需要序列化的对象成员,用数组表示 var s=JSON.stringify(box2,[‘age‘]); //第二个参数是函数可以更改键值对中的值 var s=JSON.stringify(box2,function(key,value){ if(key==‘name‘) return ‘mr.‘+value; else return value; }); //指定序列化后json文本格式缩进对齐程度 var s=JSON.stringify(box2,null,4); alert(s);
标签:
原文地址:http://www.cnblogs.com/liyu2012/p/5453662.html