今晚又下班早!!嘿嘿,继续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. Android用户界面 UI组件--TextView及其子类(四) Chronometer计时器

    Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始.默认情况下它会显示在当前定时器的值的形式“分:秒”或“H:MM: ...

  2. 【HDOJ】2157 How many ways??

    矩阵乘法,用DP做各种wa,后来发现原因了. #include <stdio.h> #include <string.h> typedef struct { ][]; } ma ...

  3. HDU-2550 百步穿杨

    百步穿杨 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  4. [转]Oracle查询树形数据的叶节点和子节点

    oracle 9i判断是叶子或根节点,是比较麻烦的一件事情,SQL演示脚本如下: --表结构-- DROP TABLE idb_hierarchical; create TABLE idb_hiera ...

  5. web调试工具

    Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大 ...

  6. SLua 中继承 C# 类接口 Slua.Class 的一个 Bug。

    由于目前要把大量的代码移植到 lua 中(真是够虐心的),面向对象肯定少不了,项目的代码都是这么设计的,于是就测试 Slua.Class 接口来扩展 C# 的类,发现有点问题,给作者提交了一个 Iss ...

  7. Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面

    Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的 ...

  8. Unity给力插件之LittleLocalization

    从网上随便下载了一个多语言的插件,原理很简单,自己就可以写一个.不过本身插件做的算比较全面,拿来就能用,所以精简了一下,然后重新打了个包. 为了快速使用插件,在此把步骤列出来. 1.创建空物体,添加L ...

  9. 删除用不到的linux内核

    方法1 sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\) 方法2 sudo apt-get autoremove 方法3 uname -a #使 ...

  10. JAVA Web项目的编码过滤器

    首先写一个EncodeFilter的过滤类: package com.djtu.wy.common; import java.io.IOException;import javax.servlet.F ...