`

JSON基础

 
阅读更多

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON具有以下这些形式:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
字符串(string)与C或者Java的字符串非常相似。
数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。
空白可以加入到任何符号之间。 以下描述了完整的语言。(以上部分摘自:http://www.json.org/json-zh.html)

JSON举例(javascript中使用json):
先来个最简单的:

<script type="text/javascript">
        var user = {"Id":1,"Name":"Hubery","Age":23,"Email":"hubery@163.com"};
        alert(user.Id); //这样访问也没问题alert(user["Id"]);
        alert(user.Name);
        alert(user.Age);
        alert(user.Email);
</script>

我们添加Address属性,定义更细的用户信息结构:

<script type="text/javascript">
var user = 
          {
            "Id":1,
            "Name":"Hubery",
            "Age":23,
            "Address":
              {
                  "City":"Beijing","ZipCode":"111111"
              },
            "Email":"hubery@163.com"
          };

          alert(user.Id);
          alert(user.Name);
          alert(user.Age);
          alert(user.Address.City);
          alert(user.Address.ZipCode);
          alert(user.Email);
</script>

下面我们把Address属性定义成数组,用户有两个Address:

<script type="text/javascript">
var user = 
          {
            "Id":1,
            "Name":"Hubery",
            "Age":23,
            "Address":
              [
                {"City":"Beijing","ZipCode":"111111"},
                {"City":"Langfang","ZipCode":"222222"}
              ],
            "Email":"hubery@163.com"
          };

          alert(user.Id);
          alert(user.Name);
          alert(user.Age);
          alert(user.Address[0].City);//还可以这样:alert(user.Address[0]["City"]);
          alert(user.Address[0].ZipCode);
          alert(user.Address[1].City);
          alert(user.Address[1].ZipCode);
          alert(user.Email);
</script>

如果我们想要一个用户列表,能行吗?答案是,没问题!

<script type="text/javascript">
var user = 
          [
              {
                "Id":1,
                "Name":"Hubery",
                "Age":23,
                "Address":
                  [
                    {"City":"Beijing","ZipCode":"111111"},
                    {"City":"Langfang","ZipCode":"222222"}
                  ],
                "Email":"hubery@163.com"
              },
              {
                "Id":2,
                "Name":"Chris",
                "Age":24,
                "Address":{"City":"Beijing","ZipCode":"100085"},
                "Email":"chris@163.com"
              }
          ]

          alert("Id: "+user[0].Id+"/r/nName: "+
          user[0].Name+"/r/nAge: "+
          user[0].Age+"/r/nAddress: ("+
          user[0].Address[0].City+","+user[0].Address[0].ZipCode+") ("+user[0].Address[1].City+","+user[0].Address[1].ZipCode+")/r/nEmail: "+
          user[0].Email);

          alert("Id: "+user[1].Id+"/r/nName: "+
          user[1].Name+"/r/nAge: "+
          user[1].Age+"/r/nAddress: ("+
          user[1].Address.City+","+user[1].Address.ZipCode+")/r/nEmail: "+
          user[1].Email);
</script>

 

分享到:
评论

相关推荐

    JSON基础教程.

    ### JSON基础教程详解 #### 一、JSON简介与优势 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。相较于XML,JSON的数据格式更为简洁,这使得它在...

    JSON基础教程+中文CHM版_JSON_webapi_

    “JSON基础教程.CHM”和“JSON基础教程.pdf”分别提供了Windows帮助文件和PDF文档格式的教程,方便用户在不同设备和环境下学习。CHM文件适合在Windows系统下查看,包含了丰富的内链和索引,而PDF文件则适合离线阅读...

    Java+Servlet+Jquery+Json基础示例

    在这个"Java+Servlet+Jquery+Json基础示例"中,我们可以看到如何将这四种技术融合在一起创建一个Web应用。首先,用户通过前端界面(HTML+CSS+Jquery)发送Ajax请求,Jquery负责包装和发送这些请求,通常是以Json格式...

    Ajax及JSON基础

    Ajax及JSON基础,个人总结,相当简单,经过测试,运行正确!

    JSON基础归纳整理

    在了解了JSON的基础知识之后,开发者可以进一步学习如何使用各种编程语言提供的库来处理JSON数据。例如,Google提供的Gson库是一个非常流行的Java库,用于将Java对象转换成JSON格式以及将JSON字符串转换成相应的Java...

    JSON基础教程.CHM

    JSON基础教程.CHM

    json基础文档

    ### JSON基础文档与Gson应用详解 #### 一、JSON简介及基本操作 **1. 使用`JsonObject`写JSON** - **概念介绍**: `JsonObject`是JSON中最基本的数据结构之一,它允许我们以键值对的形式存储数据。在Java中,我们...

    IBM的JSON基础入门指南

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁和高效而广泛应用于Web服务和JavaScript之间的数据交互。JSON格式的设计目标是为了人类可读和易于编写,同时也方便机器解析和生成。它...

    json基础学习必备

    JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式,因其简洁、易读、易解析的特性,在异步应用程序中广泛用于发送和接收信息。JSON格式的设计灵感来源于JavaScript编程语言,允许开发者直接将...

    json基础架包

    该压缩文件包含的架包为:commons-beanutils-1.8.0.jar,commons-collections-3.2.1.jar,commons-lang-2.6.jar,commons-logging-1.1.1.jar,ezmorph-1.0.6.jar,json-lib-2.4-jdk15.jar,xom-1.2.6.jar

    json基础知识附带实例

    json

    免费 JSON基础教程.pdf 了解JSON的好文档

    JSON全称为JavaScript Object Notation,是一种轻量级的数据交换格式。它基于JavaScript的一个子集,但目前已经成为一种独立于语言的数据格式标准,在多种编程语言中得到支持。JSON格式可以使用纯文本的方式来存储和...

    Ajax&amp;Json基础学习和redis基础学习.zip

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Redis是一个开源的内存数据结构存储系统,可以作为数据库、缓存和消息中间件使用,具有高性能、高...

    JSON+js+jquery+ajax基础.zip

    1. JSON基础知识:介绍JSON的语法结构,如对象和数组的表示,以及如何在JavaScript中创建和解析JSON对象。 2. JavaScript基础:深入讲解JavaScript的基本语法,包括变量、函数、对象等,并演示如何使用JavaScript...

    JsonView工具

    ### JSON基础 JSON,全称JavaScript Object Notation(JavaScript对象表示法),是一种轻量级的数据交换格式。它采用完全独立于语言的文本格式,但也使用了类似于C家族语言的习惯,包括C、C++、C#、Java、...

    JSON 入门指南--(PDF电子书+随书源码)免费

    1. **JSON基础**:介绍JSON的起源和特点,以及为什么在Web开发中如此重要。会讲解JSON的数据结构,包括对象(键值对)和数组(有序列表)两种基本类型。 2. **JSON语法**:详细解析JSON的语法规则,如如何定义键值...

    Android 安卓 json解析

    JSON基础知识 JSON是一种文本格式,基于JavaScript语法,但独立于语言。它以键值对的形式存储数据,如`"key": "value"`。数组可以通过方括号`[]`表示,对象通过大括号`{}`表示。例如: ```json { "name": "John", ...

Global site tag (gtag.js) - Google Analytics