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":"Truly", "Email":"zhuleipro◎hotmail.com"};
然后如果把这一字符串赋予一个JavaScript变量,那么就可以直接使用对象的任一属性了。
完整代码:
<script>
var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
alert(User.Name);
</script>
实际使用时可能更复杂一点,比如我们为Name定义更详细的结构,使它具有FirstName和LastName:
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}
完整代码:
<script>
var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"};
alert(User.Name.FirstName);
</script>
现在我们增加一个新的需求,我们某个页面需要一个用户列表,而不仅仅是一个单一的用户信息,那么这里就需要创建一个用户列表数组。
下面代码演示了使用JSON形式定义这个用户列表:
[
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.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":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.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(JavaScript Object Notation)是一种轻量级的数据交换格式,最初由Douglas Crockford在1999年提出。由于其简洁性和易读性,JSON很快成为了Web开发中最常用的...
### JSON 定义及其在 jQuery 中的操作方法 #### 一、JSON 的定义 JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式,它基于 JavaScript 的一个子集。JSON 采用完全独立于...
1. JSON定义: JSON格式通常由键值对组成,键用引号括起来,后跟冒号,值可以是字符串、数字、布尔值、数组、null,或者嵌套的JSON对象。数组以方括号`[]`包裹,对象以大括号`{}`包裹。例如: ```json [ {...
### JSON-Schema定义规范 #### 前言 在现代软件开发中,数据交换与处理是必不可少的一部分。随着Web服务的普及以及API的发展,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简单易读且...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,它基于ECMA-262第三版(1999年的JavaScript语言标准)的一个子集,设计简单且易于人阅读和编写,同时也易于机器解析和生成。JSON的结构主要由两...
1、json定义: 简单的json格式为[{“key1″:”value1”},{“key2″:”value2”}], []代表数组,{}代表数组中的数据对象,key1,key2是一个json对象中的key,一个json中key值唯一,value1,value2,是key键对应的值。 ...
标题中的“国标行业json格式数据”指的是中国国家标准(GB/T)分类数据,这些数据以JSON(JavaScript Object Notation)这种轻量级的数据交换格式呈现。JSON是一种广泛使用的数据存储和传输格式,因其易于人阅读和...
### JSON定义及实例详解 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。它基于ECMAScript的一个...
从JSON定义文件创建Tkinter GUI 这个简单模块的想法是,您可以定义JSON文件格式的Tkinter GUI。 可以在这些文件中定义可以为窗口小部件配置的所有值。 模块“ tkgen”具有一个Generator类,该类能够解析这些文件并...
pdf-from-json-template从JSON定义的结构生成PDF文档要求要使用此库,您PHP项目中必须包含TCPDF: : // include TCPDFinclude_once ( './TCPDF_main/tcpdf_import.php' );设置include_once ( 'PDFParser.php' );用法...
2. 定义每个语法元素对应的AST节点结构。 3. 实现解析器,将源代码转换为符合模板的AST。 4. 验证生成的AST是否准确反映了源代码的结构。 在处理AST时,还需要注意处理边缘情况和错误恢复,确保即使在遇到语法错误...
"contextPlease"是一个Python工具,它允许用户通过JSON定义文件来轻松创建这样的自定义上下文菜单项。下面将详细阐述这个工具的功能、工作原理以及如何使用。 首先,让我们理解什么是JSON(JavaScript Object ...
JSON定义HTML页面 用于快速创建小型和简单的内容页面。 所有内容均由index.json文件定义。 就我而言,我主要将它们用作下载页面,与实际网站分开。 您可以查看此index.json示例的实时版本。 通用源代码修改 index....
标题“defschema:json定义架构查看器”指出我们正在讨论一个与JSON架构相关的工具或库,可能是用于验证、解析或可视化JSON数据结构的。在IT领域,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
通过JSON定义匹配规则,`libexp`将复杂的正则表达式转换为更直观、可读性强的结构化数据。 使用`libexp`时,你可以创建一个JSON对象,其中包含了你想要匹配的模式。例如,如果你想匹配一个电子邮件地址,你可以这样...
### JSON定义对象和函数的基本方式 对象字面量是一种通过花括号`{}`包裹起来的键值对集合。在这种结构中,键通常对应于字符串,而值可以是任意数据类型,包括其他对象、数组、字符串、数字、布尔值、null或函数。...
AWS API Gateway更新命令行实用程序,用于从 JSON定义中提升(如果不存在则创建,否则进行更新) 实例。特征能够从JSON Swagger定义文件创建,更新或导出API Gateway实例。 使用API更新,可以自动将当前定义与...
"4.3 定义块1" 主要关注如何定义和配置 Blockly 中的自定义块,这涉及到 JSON 格式和 JavaScript API 的使用。 首先,我们来看 `JSON` 格式。JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于...
结合json2css和精灵图模板,开发者可以方便地将JSON定义的样式应用到精灵图上的各个元素,同时保持代码的整洁和模块化。在实际开发中,这有助于提高开发效率,降低维护成本,尤其是在处理大量图标或者状态图时,这种...