1.什么是json
JSON(Javascript Object Notation)是一种轻量级的数据交换格式,有益于人的编写和阅读。同时也易于机器解析和生成。JSON完全采用于完全独立语言的文本格式,而且很多语言都提供了对json的支持(包括c,c++,c#等),这样就使得json称为理想的数据交换格式
轻量级指的是和xml作比较的
数据交换指的是客户端和服务器之间业务数据的传递格式
2.json在JavaScript中的使用
json的定义:
json是由键值对组成并且由花括号包围,每一个键有引号引起来,键和值之间使用逗号进行分隔,多组键值对之间使用逗号进行分隔,例如JavaScript里的:
<script type="text/javascript">
// json的定义
var jsonobj={
"key1":12,
"key2":"abc",
"key3":true,
"key4":[11,"abc",true],
"key5":{
"key5_1":551.,
"key5_1":"key5_1",
},
"key6":[{
"key6_1":551.,
"key6_1":"key5_1",
},
{
"key6_2":551.,
"key6_2":"key5_1",
},
]
}
</script>
接下来我们alert(typeof(jsonobj)),显示的是object类型,所以json他就是一个对象,他这个key可以理解为对象中的一个属性
3.JSON的访问:
json本身就是一个对象那么json中的key可以理解为是对象中的一个属性,json中的key就跟访问对象中的属性方法一样:json.key;
访问kty1的时候jsonobj.key1,这个就是key1的值key2和key3的访问效果是一样的接下来看key4:也是json.key4,不过这是把整个数组全取出来了如果只想去第二个那么就这样json.key4[1];如果访问key5这种形式的话那么就是这样访问的 json.key5.key5_1,如果访问key6这种就是:jsonobj.key6[0].key6_1这样来访问如果是[]包住的那就是数组形式可以取下标如果是{}包住的可以根据一级一级的点(.)出来。
4.json的两个常用的方法
一种是以对象的形式存在,我们叫他json对象。一种是以字符串的形式存在叫做json字符串这两种之间是可以相互转换的
一般我们要操作json数据的时候,需要使用json对象的格式,一般我们要在客户端和服务器之间进行数据交换的时候使用json字符串
两个方法
JSON.stringify() 把json对象转换成json字符串 比较像java中的tostring
var jsona=JSON.stringify(jsonobj)
JSON.parse() 是把字符串json对象转换成json对象
var jsonb=JSON.parse(jsona)