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 格式才有意义。
网友评论