JSON
- 全称为JavaScript object notation对象表示法,起源于JavaScript的数组和对象,说白了,就是JavaScript用来处理数据的一种格式,这种格式很简单,不过没有XML通用。
- 大部分都是用来处理JavaScript和web服务器端的数据交换,把后台的web服务器的数据传递到前台,然后使用JavaScript进行处理。例如ajax等。
- json支持的语言非常多,包括JavaScript,c#,php,java等..这是由于JSON独立的语言的轻量级的数据交换格式,这个特点类似于SQL语言。
- 就是一种数据传输格式而已,其实json最大的用处是在处理JavaScript和web服务器端之间的数据交换。
- json简单来说就是JavaScript中的对象或者数组,所以者两种结构就是对象和数组,通过者两种结构就可以表示各种复杂的结构。
JSON的对象结构
- 对象的结构是使用{}括起来的,花括号里是由0个或者多个用英文逗号分隔开的,而json对象是这样子的。
var obj={
'键名1':值1,
'键名2':值1,
.
.
.
'键名n':值n,
}
- 此时的obj指的是json对象,对象结构是以‘{'开始,到'}’结束。其中'键名'和‘值’之间用银问冒号构成对,两个“键名:值”之间用英文逗号分隔。
- 注意:这里的键名是字符串,但是值可以是数值,字符串,对象,数组,或者逻辑true或者false
从JSON中读取数据
json.key
jsonobj['key']
- 上面代码中jsonobj指的就是Json对象,其中的key指的是键名。
向JSON中写数据
jsonObj.key = 值;
jsonObj["key"] = 值;
- 和向对象里写数据差不多。
修改JSON里面的数据
jsonObj.key = 新值;
删除JSON里面的数据
delete jsonObj.key;
- 使用delete关键词去删除即可。
遍历JSON里面的对象
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var obj =
{
"name":"helicopter",
"age":23,
"gender":"男",
}
for(var c in obj)
{
if(c=="name")
{
document.write("姓名是:"+obj[c]);
}
}
</script>
</head>
<body>
</body>
</html>
- 对于JSON对象的结构,可以使用for..in循环来遍历JSON对象里面的数据。
- 由于变量c是字符串,因此不能使用obj.c来获取JSON数据,而必须使用obj[c]来获取JSON数据。
JSON数组结构
- JSON数组结构式用[]括起来的,中括号内部可由0个或者多个英文逗号‘,’分隔的值的列表组成。
var arr =
[
{
"键名1":值1,
"键名2":值2
},
{
"键名3":值3,
"键名4":值4
},
……
]
- 上面代码中的arr指的JSON数组,数组结构是以“[”开始,到“]”结束,这一点和JSON对象不同,不过在JSON数组结构中,每一对‘{}’相当于一个JSON对象。
- 注意:这里的键名是字符串,但是值可以是数值,字符串,对象,数组,或者逻辑true和false。
- JSON的数组结构,只需要通过数组下标来获取哪个数组元素,然后再配合使用“.”操作符就可以获取相应数组元素的内部数据。
- 若使用delete关键词删除了arr[0]删掉之后如果向获取arr[0]就会报错。
JSON对象和字符串
普通字符串
- 使用单引号或双引号括起来的一串字符。
var str = "json";
JSON对象
var jsonObj = {"name":"helicopter","age":23,"gender":"男"};
JSON字符串
- JSON字符串,指的是符合“JSON格式”的字符串。
- JSON字符串要求两点:
- 必须是字符串,也就是要用单引号或双引号括起来;
- 必须符合“JSON”格式。
var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
- JSON字符串说白了就是在JSON对象外面加一对单引号。
将JSON字符串转化为JSON对象
- 将JSON字符串转换为JSON对象非常有用。一般,在Web服务器后台向前台传输数据的过程中,往往都是用字符串形式来传输JSON数据。如果我们在前台想要获取JSON数据,就必须将JSON字符串转换为JSON对象才能操作。
- 现在大多数浏览器(IE8及以上,Chrome和Firefox差不多全部)自带原生JSON对象,提供JSON.parse()方法来将JSON字符串转换为JSON对象。
JSON.parse(字符串名);
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
var jsonObj=JSON.parse(jsonStr);
document.write("姓名是:"+jsonObj.name);
</script>
</head>
<body>
</body>
</html>
感谢你的阅读。