JSON
什么是JSON?
JSON(javascript object notation)【javascript 对象表示法】是一种轻量级的数据交换格式。
JSON语法
- {}表示对象。
- []表示数组。
- " "内是属性或值。
- :前属性,后值。
- ,隔开多个数据。
- 属性是字符串,而值可以是数值,布尔,null,对象和数组。
JSON字符串与对象的区别
JSON字符串是指符合json要求的字符串,如var jsonStr="{'StudentID':100,'name':'snake'}"
JSON对象是指符合json要求的对象,如var jsonObj={"StudentID":100,"name":"snake"}
也就是说,json字符串外面是由单引号和双引号包住的字符串。
使用JSON
JSON是JS的一个子集,所以可以在JS中轻松的读写JSON。读写JSON都有2种方法,分别用“.”和“[key]”的方式。
首先先定义一个JSON对象。
- var obj={
- "1":"value1",
- "2":"value2",
- "count":3,
- "person":[
- {
- "id":1,
- "name":"张三"
- },
- {
- "id":2,
- "name":"李四"
- }
- ],
- "object":{
- "id":1,
- "msg":"对象里的对象"
- }
- }
1.从JSON中读取数据
- function readJSON(){
- alert(obj.1);//会报错Uncaught SyntaxError: Unexpected number
- alert(obj.count);//或alert(obj["count"]);
- alert(obj.person[0].name);//或alert(obj.person[0]["name"]);
- alert(obj.object.msg);//或alert(obj.object["msg"]);
所以最好不要把数字当做属性
2.向JSON里面写数据
- function writeJSON(){
- //如果没有属性的,则创建该键值对,有该属性,则改变其值。
- obj.sex="男";//或obj["sex"]=男;
- }
3.删除JSON里面的数据
- function DeleteJSON(){
- delete obj.count;
- }
4.遍历JSON对象
- function TraverseJSON(){
- for(var att in obj){
- console.log(att+":",obj[att]);
- }
- }
5.JSON对象与JSON字符串的转换
- var strObj=JSON.stringify(obj);//把JSON对象字符化。
- var newObj=JSON.parse(strObj);//把JSON字符串解析成JSON对象。