JavaScript JSON

JSON介绍

JSON全称JavaScript Object Notation,是一种轻量级的数据交换格局,JSON 通常用于服务端向网页传递数据 。JSON选用完全独立于语言的文本格局,易于人阅览和编写,同时也易于机器解析和生成,这些特性使得在网络传输的数据中JSON成为主流格式。

JSON数据格式

JSON数据格式特别简单,数据的书写格式是 键(名称)/值对 形式,JSON数据的保存文件格式是 .json文件。JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,也可以说JSON键值对是JS对象的字符串形式,键/值对包括 字段名称(在双引号中),后面写一个冒号,然后是值。比如下面这样:

{"name":"Cherry","age":18,"city":"广州"}

//为了方便查看,一般会把JSON数据格式化下面这样
{
    "name":"Cherry",
    "age":18,
    "city":"广州"
}

JSON 值可以是:字符串(在双引号中)、数组(在中括号中)、数字(整数或浮点数)、逻辑值(true 或 false)、对象(在大括号中)、 null。

JSON数组

上面提到JSON的值除了原始数据,还可以是数组和对象,这就可以实现JSON数据有层次的嵌套。

{ 
    "students":[
         {"name":"Cherry","age":18,"city":"广州"},
         {"name":"Grace","age":20,"city":"上海"}
        ],
    "teacher":{"name":"Maria","age":25,"city":"Beijing"}
}

以上"students"对象是一个数组,包含两个对象,"teacher"对象包含一个对象

JSON 对象保存在大括号内,JSON 数组保存在中括号内。数组可以包含对象,对象也可以保存多个键值对。

JSON字符串转换为JS对象

通常我们从服务器获取的JSON数据都会将它转换为JS对象,然后再对对象进行操作。我们获得JSON数据一般都会先转字符串形式,然后使用JSON函数转换位JS对象。这里我们直接使用上面的JSON数据演示:

var data = '{ '+
        ' "students":['+
                ' {"name":"Cherry","age":18,"city":"广州"},'+
                ' {"name":"Grace","age":20,"city":"上海"}'+
             ' ],'+
        ' "teacher":{"name":"Maria","age":25,"city":"Beijing"}'+
        ' }';
 //JSON字符串

var obj = JSON.parse(data);//将一个字符串转换为对象
console.log(obj.teacher.name);//Maria  JSON数据转换为JS对象后可以使用对象方法操作数据
console.log(obj.students[0].name);//Cherry
console.log(obj.students[1].name);//Grace

使用JSON.parse()方法可以将字符串转换为JS对象,同样也可以使用JSON.stringify()方法将将JS对象转换为字符串,当然它们前提是要 json 格式才有意义。

你可能感兴趣的:(JavaScript JSON)