今晚又下班早!!嘿嘿,继续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的格式与语法的更多相关文章

  1. python学习(二):python基本语法

    前言:python基本的语法与其他语言诸如C,JAVA等类似,但个中有些许不同. 一.常规语法 1.变量名与关键字 与其他语言类似,变量名由字母.数字.下划线组成,且必须由字母开头. 变量使用不需要提 ...

  2. Android NDK学习(二):编译脚本语法Android.mk和Application.mk

    一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. i ...

  3. java学习(二)基础概念、语法

    对象 类的实例(通俗点讲,new出来的玩意好像都是对象?初学者的感觉,不造对错啊,有大神给我解释下可以啊) 类 class嘛,模板嘛,可以给对象实例的嘛 方法 行为,学编程的,方法,这玩意心里都懂吧, ...

  4. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  5. Unity3D学习(二):使用JSON进行对象数据的存储读取

    前言 前段时间完成了自己的小游戏Konster的制作,今天重新又看了下代码.原先对关卡解锁数据的存储时用了Unity自带的PlayerPref(字典式存储数据). 读取关卡数据的代码: void Aw ...

  6. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  7. [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参

    [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...

  8. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  9. amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules

    amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...

随机推荐

  1. 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

    原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...

  2. IP 碎片重组

    IP 碎片重组 内核中的IP重组函数. struct sk_buff * ip_defrag(struct sk_buff * skb, u32 user) { ...... //如果内核范围超出限制 ...

  3. Python 处理server返回gzip内容

    Python 如何处理server返回gzip压缩过的内容,代码如下: from StringIO import StringIOimport gzip request = urllib2.Reque ...

  4. [主机/oracle/msyql] 监控脚本

    为了方便自己测试和监控,写了三个监控的脚本. 分别监控: 主机[cpu,mem,disk,fs,net] oracle mysql 脚本如下: hmon.py: monitor Linux os sy ...

  5. BZOJ_1036_[ZJOI2008]_树的统计Conut_(树链剖分)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1036 给出一棵树以及各点的权值,对数进行如下三种操作: 1.改变某一节点u的值为t; 2.求节 ...

  6. axis2 调用.net基于https的WebService接口

    一.创建证书 1,在IE中访问WSDL的URL,弹出“安全警报”窗口,查看证书->详细信息标签页->复制到文件->下一步->下一步->指定文件名,将证书下载保存为.cer ...

  7. ArcServer,ArcSDE,ArcIMS,ArcEngine

    ArcServer,ArcSDE,ArcIMS,ArcEngine是ESRI的四种产品ArcGIS Server 与 ArcIMS功能相似,是将地图发布成服务供调用的ArcSDE 是空间数据引擎,是将 ...

  8. android报错——findViewById报错

    通過ID找到Layout的 VIEW控件.,比如你的控件Button ID為"@+id/button01"   就可以通過這樣Button btn=(Button)findView ...

  9. gmail

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  10. Legal or Not

    Legal or Not Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total ...