`

轻量级网站开发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以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量,那么该变量会变成一个对象引用,而这个对象就是字符串所构建出来的,好像有点拗口,我们还是用实例来说明。

 这里假设我们需要创建一个User对象,并具有以下属性

用户ID

用户名

用户Email

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

 

Js代码  收藏代码
  1. {"UserID":11, "Name":"hualai""url":"http://www.hualai.net.cn"};  

然后如果把这一字符串赋予一个JavaScript变量,那么就可以直接使用对象的任一属性了。

完整代码:

 

Html代码  收藏代码
  1. <script>    
  2.   var User ={"UserID":11, "Name":"hualai", "url":"http://www.hualai.net.cn"};      
  3. alert(User.Name);    
  4. </script>  

实际使用时可能更复杂一点,比如我们为Name定义更详细的结构,使它具有FirstName和LastName:

 

Js代码  收藏代码
  1. {"UserID":11, "Name":{"FirstName":"hua","LastName":"lai"}, "Email":"http://www.hualai.net.cn"}   

完整代码:

 

Html代码  收藏代码
  1. <script>      
  2. var User ={"UserID":11, "Name":{"FirstName":"hua","LastName":"lai"}, "Email":"http://www.hualai.net.cn"};    
  3. alert(User.Name.FirstName);    
  4. </script>  

现在我们增加一个新的需求,我们某个页面需要一个用户列表,而不仅仅是一个单一的用户信息,那么这里就需要创建一个用户列表数组。

下面代码演示了使用JSON形式定义这个用户列表:

 

Js代码  收藏代码
  1. [    
  2. {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"http://www.hualai.net.cn"},    
  3. {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "http://www.hualaikj.com"},    
  4. {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"http://www.tjbusiness.com"}    
  5. ]  

完整代码:

 

Html代码  收藏代码
  1. <script>    
  2. var UserList = [    
  3. {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"http://www.hualai.net.cn"},    
  4. {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "http://www.hualaikj.com"},    
  5. {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"http://www.tjbusiness.com"}    
  6. ];    
  7. alert(UserList[0].Name.FirstName);    
  8. </script>  

事实上除了使用"."引用属性外,我们还可以使用下面语句:

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

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

对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。

数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。

值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。

字符串和数字的定义和C或Java基本一致。

小节

本文通过一个实例演示,初步了解了JSON 的强大用途。可以归结如下:

JSON 提供了一种优秀的面向对象的方法,以便将元数据缓存到客户机上。

JSON 帮助分离了验证数据和逻辑。

JSON 帮助为 Web 应用程序提供了 Ajax 的本质。


分享到:
评论

相关推荐

    JSON 是一种轻量级的数据交换格式。该文档详细介绍了JSON

    JSON作为一种轻量级的数据交换格式,不仅因其简洁性和易读性而在软件开发领域内得到了广泛的应用,还因其强大的灵活性和兼容性而成为了许多现代技术的基础。无论是构建Web服务还是处理数据,JSON都是一个不可或缺的...

    一款免费轻量级JSON Editor For Mac

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它基于JavaScript的一个子集,格式清晰、易于阅读和编写,同时也易于机器解析和生成。JSON Editor则是一款专...

    C++版轻量级JSON库 JsonLite是一个Json的C++实现,可以生成和解析JSON

    C++版轻量级JSON库 JsonLite是一个Json的C++实现,可以生成和解析JSON,除了依赖C/C++标准库 以外不依赖任何第三方库,可以移植到任何平台上。

    cpp-sajson是C11的轻量级极高性能的JSON解析器

    **cpp-sajson:C++11的轻量级极高性能JSON解析库** cpp-sajson 是一个基于C++11标准的轻量级JSON解析器,它以其高性能和小巧的体积著称。JSON(JavaScript Object Notation)是一种常用的数据交换格式,广泛应用于...

    JSON API 一种轻量级的数据交换格式

    JSON (JavaScript Object Notation) 是一种广泛用于数据交换的轻量级格式,尤其在Web服务和前后端交互中扮演着重要角色。它基于JavaScript语言的一个子集,因此在JavaScript环境中解析和生成JSON数据非常便捷。JSON...

    json 轻量级解析库 json.me.zip

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于移动和嵌入式应用程序,因为它易于读写...在实际项目中,合理利用JSON和这样的轻量级库,可以提高开发效率,同时保持代码的可维护性和性能。

    cpp-jq是一个轻量级而且灵活的命令行JSON处理器

    JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于网络通信和数据存储,因此能够有效地解析、查询和转换JSON数据对于开发人员来说至关重要。 cpp-jq项目基于开源的jq工具,jq是用C语言...

    Java Web轻量级开发全体验15 代码

    本主题聚焦于“Java Web轻量级开发全体验15”,这可能是指一系列教程或项目的第15个部分,重点是通过代码实践来学习和理解轻量级开发的关键概念。我们将探讨这一主题涉及的主要知识点。 1. **Servlet与JSP**:作为...

    JSONCoder是一个轻量级Java对象的JSON编码解码库

    JSONCoder 是一个轻量级的通用的 Java 对象序列化和反序列化到 JSON 格式的工具包,类似 Jackson 或者 FastJson。这个库在 eBay 内部广泛使用多年。这并非是要替代其他常用库,主要是解决了一些其他库中不被支持的...

    基于ThinkPHP的轻量级PHP开发框架设计源码

    这是一个基于ThinkPHP的轻量级PHP开发框架设计,使用PHP语言开发,包含25个文件。主要文件类型包括10个PHP源文件、5个gitignore文件、2个Markdown文档、2个TXT文件、2个.htaccess文件、1个YAML文件、1个JSON文件和1...

    TrivialDB一个轻量级的键值Json持久性存储

    TrivialDB是一个专门为JavaScript开发设计的轻量级键值对持久化存储解决方案,它专注于处理JSON格式的数据。这个数据库系统的核心理念是提供一个简洁、易用的接口,使得开发者能够方便地存储和检索以Key-Value形式...

    C语言下的人性化、轻量级、高性能JSON库.zip

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。在C语言环境中,开发人员有时需要处理JSON数据,但C语言本身并不直接支持JSON解析和生成。因此,出现...

    autoit 轻量级请求BigQuant策略方法+JSON解析+落地\委托\DB

    标题中的“autoit 轻量级请求BigQuant策略方法+JSON解析+落地\委托\DB”揭示了几个关键的IT知识点,主要集中在AutoIt编程语言、网络请求、JSON数据处理以及数据库操作上。 1. **AutoIt**: AutoIt是一种轻量级的、...

    基于java的企业级应用开发:JSON数据交互.ppt

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,它基于JavaScript的一个子集,但设计的目标是为了便于人阅读和编写,同时也方便机器解析和生成。JSON因其简洁、高效的特性,在网络通信中被广泛...

    jsonrpc4j整合Spring+Maven轻量级远程调用

    JSONRPC4J是一种基于Java实现的轻量级远程过程调用(RPC)框架,它允许客户端与服务器之间通过JSON协议进行通信。在这个场景中,我们将讨论如何将JSONRPC4J与Spring框架和Maven构建工具整合,以创建一个高效、灵活的...

    轻量级Java Web开发整合入门

    【轻量级Java Web开发整合入门】 在Java Web开发领域,"轻量级"一词通常指的是不依赖大型企业级应用服务器(如IBM WebSphere或Oracle WebLogic)的框架和工具,它们更易于使用、部署和维护。轻量级Java Web开发强调...

    课程网站开发中测试模块的一种轻量级实现.pdf

    最后,使用JSON来实现数据交换,JSON是一种轻量级的数据交换格式,能够满足测试模块的数据交换需求。 本文提供了一种轻量级实现的测试模块制作办法,旨在解决当前课程网站开发中测试模块开发的困难和挑战,满足业务...

    基于Java的轻量级Web开发框架设计源码

    该项目为轻量级Java Web开发框架设计源码,包含515个文件,主要采用Java编程语言,辅以Shell脚本,涵盖了480个Java源文件、12个XML配置文件、6个Markdown文档、5个属性文件、4个Shell脚本、4个JSON文件、1个Git忽略...

Global site tag (gtag.js) - Google Analytics