`
wlh269
  • 浏览: 453088 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
JSON定义

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。

JSON的结构基于下面两点


1. "名称/值"对的集合 不同语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),键列表(keyed list)等
2. 值的有序列表 多数语言中被理解为数组(array)
JSON使用:

JSON以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量,那么该变量会变成一个对象引用,而这个对象就是字符串所构建出来的,好像有点拗口,我们还是用实例来说明。
这里假设我们需要创建一个User对象,并具有以下属性

用户ID
用户名
用户Email
您可以使用以下JSON形式来表示User对象:

{"UserID":11, "Name":"supersalor
", "Email":"leejstu◎163.com"};
然后如果把这一字符串赋予一个JavaScript变量,那么就可以直接使用对象的任一属性了。

完整代码:

<script>
var User = {"UserID":11, "Name":"supersalor", "Email":"leejstu◎163.com"};
alert(User.Name);
</script>
实际使用时可能更复杂一点,比如我们为Name定义更详细的结构,使它具有FirstName和LastName:

{"UserID":11, "Name":{"FirstName":"supersalor","LastName":"LI"}, "Email":"leejstu◎163.com"}
完整代码:

<script>
var User = {"UserID":11, "Name":{"FirstName":"supersalor","LastName":"LI"}, "Email":"leejstu@163.com"};
alert(User.Name.FirstName);
</script>
现在我们增加一个新的需求,我们某个页面需要一个用户列表,而不仅仅是一个单一的用户信息,那么这里就需要创建一个用户列表数组。
下面代码演示了使用JSON形式定义这个用户列表:

[
{"UserID":11, "Name":{"FirstName":"supersalor","LastName":"LI"}, "Email":"leejstu.com"},
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
]

完整代码:

<script>
var UserList = [
{"UserID":11, "Name":{"FirstName":"supersalor","LastName":"li"}, "Email":"leejstu@163.com"},
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"},
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"}
];
alert(UserList[0].Name.FirstName);
</script>
事实上除了使用"."引用属性外,我们还可以使用下面语句:

alert(UserList[0]["Name"]["FirstName"]); 或者 alert(UserList[0].Name["FirstName"]);


现在读者应该对JSON的使用有点认识了,归纳为以下几点:

对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。
数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
字符串和数字的定义和C或Java基本一致。
分享到:
评论

相关推荐

    json定义json定义json定义json定义json定义

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,它基于ECMA-262第三版(1999年的JavaScript语言标准)的一个子集,设计简单且易于人阅读和编写,同时也易于机器解析和生成。JSON的结构主要由两...

    json定义及相关代码示例

    ### JSON定义及相关代码示例 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,最初由Douglas Crockford在1999年提出。由于其简洁性和易读性,JSON很快成为了Web开发中最常用的...

    json定义及jquery操作json的方法.docx

    ### JSON 定义及其在 jQuery 中的操作方法 #### 一、JSON 的定义 JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式,它基于 JavaScript 的一个子集。JSON 采用完全独立于...

    json定义及jquery操作json的方法_1.docx

    1. JSON定义: JSON格式通常由键值对组成,键用引号括起来,后跟冒号,值可以是字符串、数字、布尔值、数组、null,或者嵌套的JSON对象。数组以方括号`[]`包裹,对象以大括号`{}`包裹。例如: ```json [ {...

    JSON-Schema定义规范

    ### JSON-Schema定义规范 #### 前言 在现代软件开发中,数据交换与处理是必不可少的一部分。随着Web服务的普及以及API的发展,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简单易读且...

    json定义及jquery操作json的方法

    1、json定义: 简单的json格式为[{“key1″:”value1”},{“key2″:”value2”}], []代表数组,{}代表数组中的数据对象,key1,key2是一个json对象中的key,一个json中key值唯一,value1,value2,是key键对应的值。 ...

    国标行业json格式数据

    标题中的“国标行业json格式数据”指的是中国国家标准(GB/T)分类数据,这些数据以JSON(JavaScript Object Notation)这种轻量级的数据交换格式呈现。JSON是一种广泛使用的数据存储和传输格式,因其易于人阅读和...

    json 定义

    ### JSON定义及实例详解 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。它基于ECMAScript的一个...

    pytkgen:从JSON定义文件创建Tkinter GUI

    从JSON定义文件创建Tkinter GUI 这个简单模块的想法是,您可以定义JSON文件格式的Tkinter GUI。 可以在这些文件中定义可以为窗口小部件配置的所有值。 模块“ tkgen”具有一个Generator类,该类能够解析这些文件并...

    pdf-from-json-template:从JSON定义的结构生成PDF文档

    pdf-from-json-template从JSON定义的结构生成PDF文档要求要使用此库,您PHP项目中必须包含TCPDF: : // include TCPDFinclude_once ( './TCPDF_main/tcpdf_import.php' );设置include_once ( 'PDFParser.php' );用法...

    自定义抽象语法树JSON模板

    2. 定义每个语法元素对应的AST节点结构。 3. 实现解析器,将源代码转换为符合模板的AST。 4. 验证生成的AST是否准确反映了源代码的结构。 在处理AST时,还需要注意处理边缘情况和错误恢复,确保即使在遇到语法错误...

    contextPlease:Windows中从JSON定义文件轻松生成上下文菜单项的工具

    "contextPlease"是一个Python工具,它允许用户通过JSON定义文件来轻松创建这样的自定义上下文菜单项。下面将详细阐述这个工具的功能、工作原理以及如何使用。 首先,让我们理解什么是JSON(JavaScript Object ...

    json-defined-html-page:创建小型且简单的内容页面,由JSON文件定义

    JSON定义HTML页面 用于快速创建小型和简单的内容页面。 所有内容均由index.json文件定义。 就我而言,我主要将它们用作下载页面,与实际网站分开。 您可以查看此index.json示例的实时版本。 通用源代码修改 index....

    defschema:json定义架构查看器

    标题“defschema:json定义架构查看器”指出我们正在讨论一个与JSON架构相关的工具或库,可能是用于验证、解析或可视化JSON数据结构的。在IT领域,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...

    libexp:使用 JSON 定义匹配字符串,不需要正则表达式

    通过JSON定义匹配规则,`libexp`将复杂的正则表达式转换为更直观、可读性强的结构化数据。 使用`libexp`时,你可以创建一个JSON对象,其中包含了你想要匹配的模式。例如,如果你想匹配一个电子邮件地址,你可以这样...

    使用json来定义函数,在里面可以定义多个函数的实现方法

    ### JSON定义对象和函数的基本方式 对象字面量是一种通过花括号`{}`包裹起来的键值对集合。在这种结构中,键通常对应于字符串,而值可以是任意数据类型,包括其他对象、数组、字符串、数字、布尔值、null或函数。...

    aws-api-gateway-upsert:用于从Swagger 2.0 JSON定义升级AWS API Gateway实例的命令行实用程序

    AWS API Gateway更新命令行实用程序,用于从 JSON定义中提升(如果不存在则创建,否则进行更新) 实例。特征能够从JSON Swagger定义文件创建,更新或导出API Gateway实例。 使用API​​更新,可以自动将当前定义与...

    4.3定义块1

    "4.3 定义块1" 主要关注如何定义和配置 Blockly 中的自定义块,这涉及到 JSON 格式和 JavaScript API 的使用。 首先,我们来看 `JSON` 格式。JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于...

    前端开源库-json2css

    结合json2css和精灵图模板,开发者可以方便地将JSON定义的样式应用到精灵图上的各个元素,同时保持代码的整洁和模块化。在实际开发中,这有助于提高开发效率,降低维护成本,尤其是在处理大量图标或者状态图时,这种...

Global site tag (gtag.js) - Google Analytics