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 组件更新历史 ...
随机推荐
- Multi-bit per cell storage
Memories Scaling 其他的的半导体存储器的制程一般2年为一个升级周期,但是nand flash 存储器的制程升级周期和他们比起来只有1年.这种更快的制程升级导致SLC NAND ...
- C51 的编程规范
编程首要是要考虑程序的可行性,然后是可读性.可移植性.健壮性以及可测试性.这是总则.但是很多人忽略了可读性.可移植性和健壮性(可调试的方法可能歌不相同),这是不对的. 1.当项目比较大时,最好分模块编 ...
- Python自然语言处理学习笔记(69)
http://www.cnblogs.com/yuxc/archive/2012/02/09/2344474.html Chapter8 Analyzing Sentence Structure ...
- 使用C#画图(饼图折线图)
public PlaceHolder PlaceHolder1; //显示图像的控件 各个图像的类别名称如下: PictureType 图形种类 5 chChartTypeBarCl ...
- SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发
转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中, 已经集成了用于Shar ...
- C#后台执行bat
C#后台执行bat ProcessStartInfo p = new ProcessStartInfo(); p.FileName = "C:\\1.bat"; p.WindowS ...
- [SDOI2015]权值
问题描述: 有一个长度为n的实数序列,,下标从1开始,其中第k个位置的实数为p · (sin(a · k + b) + cos(c · k + d) + 2),sin和cos采用弧度制,其中p,a,b ...
- usaco 奶牛接力
Description 为增强体质,约翰决定举办一场奶牛接力跑比赛.比赛现场有一些接力位置,这些位置间有T条路连接,第i条路的长度为Li. 有N头奶牛需要参加比赛,领头的奶牛从位置S出发,她会按照你的 ...
- Java开源建站工具
http://www.ruanyifeng.com/blog/2011/08/opensource_java_web_development_tools.html 作者: 阮一峰 日期: 2011年8 ...
- It appears as though you do not have permission to view information for any of the services you requested