JSON,说白了就是JavaScript用来处理数据的一种格式,这种格式非常简单易用。
JSON,大部分都是用来处理JavaScript和web服务器端之间的数据交换,把后台web服务器的数据传递到前台,然后使用JavaScript进行处理,例如ajax等。
JSON支持的语言非常多,包括JavaScript、C#、PHP、Java等等,这是由于JSON独立于语言的轻量级的数据交换格式,这个特点有点类似于SQL语言。
JSON结构共有2种:
对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。
语法:
var jsonObj =
{
"键名1":值1,
"键名2":值2,
……
"键名n":值n
}
说明:
jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。
语法:
var arr =
[
{
"键名1":值1,
"键名2":值2
},
{
"键名3":值3,
"键名4":值4
},
……
]
说明:
arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象,大家看看像不像?而且语法都非常类似。
注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。
对于JSON对象结构和JSON数组结构的读取、写入、修改、删除和遍历等操作请到相应章节认真查看。
代码片断1
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜单",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"view",
"name":"视频",
"url":"http://v.qq.com/"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
然后用PHP的json_encode()函数,对一二维数组转换成JSON形式
但转换出来的JSON形式:
代码片断2
{
"button": {
"1": {
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC"
},
"2": {
"type": "click",
"name": "歌手简介",
"key": "V1001_TODAY_SINGER"
},
"3": {
"name": "菜单",
"sub_button": [
{
"type": "view",
"name": "搜索",
"url": "http://www.soso.com/"
},
{
"type": "view",
"name": "视频",
"url": "http://v.qq.com/"
},
{
"type": "click",
"name": "赞一下我们",
"key": "V1001_GOOD"
}
]
}
}
}
看出来形式是不一致的。
只能来了解一下JSON的结构形式。
JSON有两种数据:1.无序的对象结构;2.有序的数组结构
1.无序的对象结构
无序的对象结构在不同语言中称法不同,比如在Python中称为字典,在JS中称为JSON对象……
总之就是键/值对组合形式。
刚才我转换出来的JSON结构就是无序的键/值对组合
2.有序的数组结构
有序的的数组结构,即代码片断2所展示的结构。
将数组作为有序数组进行转换JSON,就可以得到有序的JSON数组结构。
在下一节内容中,我们一起来认识 JSON 数据格式!
HTML DOM ins 对象ins 对象 ins 对象代表了一个已经被插入HTML文档中的文本。 ins 元素定义已经被插入文档中的文本。提示:del ...
HTML DOM Reset 对象Reset 对象在 HTML 表单中 input type="reset" 标签每出现一次,一个 Reset 对象就会被创建。当重置按钮被点...
HTML DOM Link 对象Link 对象Link 对象代表某个 HTML 的 link 元素。link 元素可定义两个链接文档之间的关系。link 元素被定义于...
HTML DOM Meter 对象Meter 对象Meter 对象是 HTML5 中新增的。Meter 对象表示一个 HTML meter 元素。访问 Meter 对象您可以使用 ...
HTML DOM title 属性 元素对象定义和用法title 属性设置或返回元素的标题。语法HTMLElementObject.title=title浏览器支持所有主...
onpagehide 事件 事件对象实例当用户从网页离开时执行 JavaScript :body onpagehide="myFunction()"定义和用法 onpagehide 事件...
Body text 属性 Body 对象定义和用法 text 属性可设置或者返回 body 元素的 text 属性值。 text 属性描述了文档的文本颜色。语法...
Mixins允许创建一组可以在整个样式表中重复使用的样式,而不需要重新创建非语义类。在CSS中,mixin可以存储多个值或参数和调用函...