前端部分——JSON

JSON(JavaScript Object Notation)是一种存储数据的方式。

关于创建:

JSON对象由名称/值对组成 ,名称用双引号包含起来,值可以是任意JavaScript数据类型,包括对象,不同的名称/值对之间用逗号隔开。

var json = {"name" : "fubin" , "age" : 18};

关于访问:

直接通过点.来访问json对象的属性

document.write(json.name);

JSON数组的创建:[]

var stu = [
    {"name":"fubin","age":18},
    {"name":"xiaohong","age":19},
    {"name":"daming","age":21}
]
document.write("JSON数组大小:"+stu.length);

JSON数组的访问,通过下标。

document.write("第三个同学是:"+stu[2].name);

对象转换

JSON对象和javascript对象:

JavaScript分为内置对象(Number,String,Array,Date,Math)和自定义对象,JSON是自定义对象,只不过是以JSON这样的数据组织方式表达出来 所以二者不存在转换的问题,

字符串转换为JSON对象:

通过字符串拼接得到一个JSON结构的字符串,并不是一个JSON对象。 需要通过eval转换得到,转换的时候注意,eval 函数要以( 开头,)结尾或者使用JQuery的$.parseJSON转换函数

var s1 = "{\"name\":\"fubin\"";
var s2 = ",\"age\":18}";
var s3 = s1+s2;
document.write("这是一个json格式的字符串:"+s3+"
"); var std = eval("("+s3+")"); document.write("这是一个json对象:"+std);

JSON对象转换为字符串:

json 对象因为是一个javascript对象,所以如果直接打印的话,看不到里面的内容。
有时候要看看这个对象是不是我们期望的,所以需要通过 JSON.stringify 函数把它转换为 字符串

var std = {"name":"fubin","age":18};
document.write("这是一个json对象:"+std+"
"); var stdString = JSON.stringify(std); document.write("这是一个json字符串:"+stdString);

 

你可能感兴趣的:(前端部分——JSON)