首页 > Web开发 > 详细

js中 json详解

时间:2015-10-25 22:03:06      阅读:318      评论:0      收藏:0      [点我收藏+]

json的语法可以表示以下三种类型的值。

1、简单值:可以在json中表示字符串、数值、布尔和null。

2、对象:对象作为一种复杂的数据类型,表示一组有序的键值对儿。

3、数组:数组也是一种复杂的数据类型,表示一组有序的值列表,可以通过数值索引来访问其中的值。

json不支持变量、函数或对象实例,它就是一种表示结构化数据的格式。

1.1:简单值:

如下10,“aa”,json字符串与js字符串最大的区别是json字符串必须使用双引号布尔与null也是有效的json形式。

2.1:对象

对象字面量一般写法是:

var aa ={
     name:"zoumm",
    job :"it",
    age :25
  
};

  json对象一般这样写的:

   {
    "name":"zoumm",
    "job":"it",
    "age":23,
"school":{

"name":"大学名",
“add”:"中国"
}
}

他们的区别是,json对象不用定义变量,末尾不用写分号,切所有的属性名必须加双引号;

3.1:数组

一般数组是这样定义的:

  var  aa = [23,"zoumm"];

json数组是这样定义的

   [ 23,"zoumm" ]

他们的区别是,json数组不用定义变量,末尾不用写分号;

json解析与序列化

1:json对象

 json对象有两个方法stringify和parse,他们分别是把js对象序列化成json字符串,和把json字符串解析成原生js值,例如:

 var  aa ={
        name:"zoumm",
        age:23
    };
    var bb = JSON.stringify(aa);
    console.log(bb); //打印出{"name":"zoumm","age":23}

在序列化js对象时,所有函数与原型成员都会有意忽略,不体现在结果中,此外,值为undeined的任何属性也会被跳过。例如:

var  aa1 ={
        name:"zj",
        age:25,
tmp:undefined,

    say:function(){ console.log(1); } };
var bb1 = JSON.stringify(aa1); console.log(bb1); //打印{"name":"zj","age":25}
}

将json字符串传递给json.parse,就得到js的值,如下:

    var cc = JSON.parse(bb1);
    console.log(cc );//打印Object {name: "zj", age: 25}

虽然cc与aa1有相同的属性,但是他们是独立的,没有任何关系的对象

2:序列化选项

3:解析选项

 

js中 json详解

原文:http://www.cnblogs.com/zoumiaomiao/p/4909539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!