一 JSON的简介
1 .JSON是一种轻量级的数据交换格式
2. JSON通常用于服务器端向网页传递数据
3 JSON 是存储和交换文本信息的语法。类似 XML;
4 JSON是在AJAX中代替XML交换数据的更佳方案。
二 JSON语法规则
数据使用键值对的方式;
数据由逗号分割;
大括号保存对象;
方括号保存数组
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
<script> //js中的对象表示 var user={ name:'张三', age:'30' } //josn对象表示 //json本质上是字符串 //普通数组 var arr=["aaa",100,true] //json数组 ["aaa",100,true] //少了变量赋值 //数组对象组合嵌套使用 [{ "name":"aaa", "age":30 },{ "name":"bbb", "age":25 },{ "name":"ccc", "age":18 }]</script>
三:JSON 的解析和序列化
一般情况下,我们的json数据都是从服务端获取到的,获取的json数据是以字符串的形式返回的。这个字符串虽然是json格式的,但是不能被直接使用,我们必须将该字符串转化为一个对象才能正常解析它
JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象,但是存在安全问题(如果JSON中包含恶意代码也会被直接执行)
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON解析器只会识别JSON文本,而不会执行
JSON 的解析:json数据转换成js对象
语法:var myObject = JSON.parse(myJSONtext, reviver); JSON的序列化:js对象转换成json数据(字符串) var myJSONText = JSON.stringify(myObject, replacer);
<script> //实际使用的时候json数据需要从服务器加载,这里假定下面的数据是从服务器加载过来的,来演示后续的操作。 var jsonstr='[{"name":"aaa","age":30},{"name":"bbb","age":25},{"name":"ccc","age":18}]'; //alert(typeof(jsonstr)) //json数据转换成js对象 //var jsonobj=JSON.parse(jsonstr); //alert(jsonstr) // alert(jsonobj[0].name) //alert(typeof(jsonobj)) var jsonobj=JSON.parse(jsonstr,function(key,value){ if ((key=='name')) { alert('VIP会员:'+value) ; }else { alert(value) } }); </script>
原文出处:https://www.cnblogs.com/qianqian-it/p/9579037.html