JOSN学习总结<二> JSON的格式与语法
今晚又下班早!!嘿嘿,继续JOSN的总结吧!!!!有人说这么简单还有必要写吗???我觉得“眼里过十遍不如手里过一遍”!!有错误之处请指正!!共同学习下!!!!废话不说了,进入今晚的正题:
<二> JSON的格式与语法:
Javascript可以非常容易的创建并访问JSON对象,语法如下:
var jsonObject=
{
propertyName(属性名):value(值),//对象内的属性语法(属性名与属性值是成对出现的)
functionName(函数名):fucntion(){.......;}//对象内的函数语法(函数名与函数内容是成对出现的)
};
针对上面的语法,在这儿分析下:
1)、 jsonObject:JSON的对象名称
2)、 propertyName: 属性名称
3)、 functionName : 函数名称
4)、 一对大括号,括起多个”名称/值“的集合
JSON使用”名称/值“或者”键/值“ 对的集合表示,也可以被理解为数组,属性名或函数名可以是任意的字符串(但是必须要有意义,有可被识别性),甚至是空字符串。
逗号用于分割每对”名称/值“对,按照最简单的形式,可以用下面的JSON表示:
{”fistName":"Aju"}
这是实例非常基本,而且实际上比等效的纯文本名称/值对( firstName=Aju )占用更多的空间;
但是,当将多个"名称/值“对串在一起时,JSON的价值也就体现出来了,下面就来个包含多个”名称/值“对的记录:
{”firstName":"zhang","lastName":"Aju","email":"@qq.com"};
从语法上看,这与”名称/值“对相比并没有很大的优势,但是在这种情况下,JSON更容易使用,而且可读性更好,例如:它明确地表示以上三个值都是同一记录的一部
分;花括号使这些值有了某种联系。
当需要表示一组值时,JOSN不但能够提高可读性,而且可以减少复杂性,例如:假如你希望表示一个人名列表,在XML中,需要许多开始标记和结束标记;如果使用
典型的名称/值对,那么必须建立一种专有的数据格式。如果使用JSON,就只需要将多个带花括号的记录分组在一起:
{
"people":[
{"firstName":"Zhao","lastName":"Liang","email":"1111@qq.com"},
{"firstName":"zhang","lastName":"Liang","email":"2222@qq.com"},
{"firstName":"Li","lastName":"Si","email":"3333@qq.com"}
]}
这应该不难理解,这个实例中,只有一个名为 people 的变量,值是包含三条数组,每个数组是一个人的记录,其中包括名、姓、电子邮件,上面的示例演示了如何用括
号将记录组合成一个值,当然,可以使用相同的语法表示多个值(每个值包含多条记录):
{
"programmers":[
{"firstName":"zhang","lsatName":"San"},
{"firstName":"Li","lsatName":"Si"}
],
"authors":[
{"firstName":"wang","lsatName":"wu"},
{"firstName":"Lu","lsatName":"liu"}
],
"musicians":[
{"firstName":"qi","lsatName":"qiang"},
{"firstName":"huang","lsatName":"San"}
]
}
这是值得注意的是,能够表示多个值,每个值包含多个值,但是还应该注意,在不同的数组中(“programmenrs”、"authors"、“musicians”)之间,记录中实际的
名称/值对,可以不一样,JSON 是完全动态的(你想怎样写都可以只要符合它的语法规范)
在处理JSON格式的数据时,没有需要遵守预定义的约束,所以,在同样的数据结构中,可以改变表示数据的方式;
今晚就写到这儿,吃饭了,girl friend 都叫了好几遍了,如果明晚下班早,准备写第三篇 :Javascript中处理JSON
JOSN学习总结<二> JSON的格式与语法的更多相关文章
- python学习(二):python基本语法
前言:python基本的语法与其他语言诸如C,JAVA等类似,但个中有些许不同. 一.常规语法 1.变量名与关键字 与其他语言类似,变量名由字母.数字.下划线组成,且必须由字母开头. 变量使用不需要提 ...
- Android NDK学习(二):编译脚本语法Android.mk和Application.mk
一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. i ...
- java学习(二)基础概念、语法
对象 类的实例(通俗点讲,new出来的玩意好像都是对象?初学者的感觉,不造对错啊,有大神给我解释下可以啊) 类 class嘛,模板嘛,可以给对象实例的嘛 方法 行为,学编程的,方法,这玩意心里都懂吧, ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- Unity3D学习(二):使用JSON进行对象数据的存储读取
前言 前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码.原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据). 读取关卡数据的代码: void Aw ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
随机推荐
- 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式
原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...
- IP 碎片重组
IP 碎片重组 内核中的IP重组函数. struct sk_buff * ip_defrag(struct sk_buff * skb, u32 user) { ...... //如果内核范围超出限制 ...
- Python 处理server返回gzip内容
Python 如何处理server返回gzip压缩过的内容,代码如下: from StringIO import StringIOimport gzip request = urllib2.Reque ...
- [主机/oracle/msyql] 监控脚本
为了方便自己测试和监控,写了三个监控的脚本. 分别监控: 主机[cpu,mem,disk,fs,net] oracle mysql 脚本如下: hmon.py: monitor Linux os sy ...
- BZOJ_1036_[ZJOI2008]_树的统计Conut_(树链剖分)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1036 给出一棵树以及各点的权值,对数进行如下三种操作: 1.改变某一节点u的值为t; 2.求节 ...
- axis2 调用.net基于https的WebService接口
一.创建证书 1,在IE中访问WSDL的URL,弹出“安全警报”窗口,查看证书->详细信息标签页->复制到文件->下一步->下一步->指定文件名,将证书下载保存为.cer ...
- ArcServer,ArcSDE,ArcIMS,ArcEngine
ArcServer,ArcSDE,ArcIMS,ArcEngine是ESRI的四种产品ArcGIS Server 与 ArcIMS功能相似,是将地图发布成服务供调用的ArcSDE 是空间数据引擎,是将 ...
- android报错——findViewById报错
通過ID找到Layout的 VIEW控件.,比如你的控件Button ID為"@+id/button01" 就可以通過這樣Button btn=(Button)findView ...
- gmail
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- Legal or Not
Legal or Not Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total ...