`

Json简要介绍

阅读更多

当两个组件之间需要相互通讯(本文指通过互联网):来回传递数据。直到不久前,XML仍旧是可选的方案:作为可选的数据传递格式。通常,其间的通讯涉及一非常繁琐的称之为SOAP的XML格式。

 

  最近一个新的格式已经开始取代XML作为数据传输格式的新选择,尤其是在处理网站和Web应用时,被称为JSON。

  JSON即JavaScript Object Notation,是一种轻量级的数据交换格式,易于人们读写,便于机器生成与解析(详见json.org )。

  大部分主要的编程语言都支持JSON,通过某种方式,或通过支撑库,或某些情况下,内置其处理,例如,.net 的RESTFul服务,可返回XML或JSON。

  起初,我以为JSON仅适用于对象,正如其名称所述,但结果显示,它可以用来代表两类不同的结构:

  • 对象(an Object)
  • 或者,数组(or, an Array)

创建JSON对象

创建一JSON象,方式如下:

  • 左大括号,后跟 名称/值对(name/value pair)
  • 每一 名成/值对 被逗号(,)分隔;
  • 名称/值对本身被一冒号(:)分隔;
  • 名称为字符串,但值可以是字符串、数字、对象、数据、真/假,或为空。对象可作为名称/值对的组成部分,以便提供嵌入额外JSON对象或在JSON对象内创建函数的能力。
  • 最后由右大括号(})封闭。

  JSON的声明和初始化一步完成,并产生一个单例(singleton)对象。JSON并非创建单例对象的唯一方法,可以通过标准的 Javscript 对象来创建单例对象,只不过做的工作要多一些,与JSON对象的区别在于,不能在一个地方声明,其后可以像一个标准的类来初始化。

  下例是最简单的JSON对象:

var objObject = {};

  上例实际上是下面对象的短格式写法:

var objObject = new Object();

  下面是一JSON对象:包含两个属性 FirstName 和 LastName,其值分别为 Sam 和 Smith:

1.  var objEmployee = {

2.        "FirstName": "Sam",

3.         "LastName": "Smith"

4. };

JavaScript中,通过新创建的对象 objEmployee来简化使用点算子来访问对象属性的问题,如下例所示:

1. alert("The employee’s name is: " + objEmployee.FirstName + " " + objEmployee.LastName);

创建JSON数组

  创建JSON数组:左中括号([)打头,后接逗号分隔的 名称/值对,最后由右中括号(])结尾。

  最简单的JSON数组---空数组句法如下:

1. var arrArray = [];

上例是下例的短格式写法:

1. var arrArray = new Array();

下面是一包含三个字符串的数组:

1. var arrArray = [
2   ."One",
3   ."Two",
4.   "Three"
5. ];

创建JSON类

  是否创建JSON类,这完全取决于您的否需要。一些人发现JSON类更简单和更容易阅读,我个人不认为JSON类和标准的Javascript类之间的可读性有多大差别。

  如果类中的所有成员和方法在都是public类型的,使用JSON类可能简单一些,因为不需要先声明类,然后再初始化。

  这是因为一个JSON对象在声明时自动初始化,并生成所谓的单例对象:每一声明只获得一个对象。

  JSON类在声明时的自动初始化,如同全局命名空间对象,其中包含一些帮助方法,不要求开发人员在页面中使用某些方法之前初始化该对象(其行为像全局函数,但包含更多结构的类)。

  JSON类的创建同样简单,但不是一个简单的变量或对象,可将一个函数作为 名称/值对 的组成部分,如下例所示:

01.  var Employee = {
02.    "FirstName": "Sam",
03.    "LastName": "Smith",
04.
05.   // Our method to return the Employee's full name
06.   "GetFullName": function () {
07.        return (this.FirstName + " " + this.LastName);
08.   }
09.  };
10. 
11.  alert(Employee.GetFullName());

将JSON字符串转换成JSON对象

  当从服务器请求JSON数据时,通常返回的是一字符串文本,只要有可能,建议利用本地浏览器支持的方法将字符串解析为一个JSON对象。

  将一字符串转换成一JSON对象,利用本地浏览器对象简单如下:

1.  var sJSON = "{ \"FirstName\": \"Sam\", \"LastName\": \"Smith\" }";
2.
3.  var objJSON = JSON.parse(sJSON);
4.
5.  alert("JSON object's data: " + objJSON.FirstName + " " + objJSON.LastName);

结论

  JSON使用的是一种有趣的技术,不仅可简化一些任务,同时也有助于减少组件间在因特网上/局域网上传输数据时对带宽的占用,尤其相对于SOAP而言。

分享到:
评论

相关推荐

    JSON简单介绍例子源码

    资源介绍什么是json,以及使用java解析json。设计到json表示对象,json表示数组等。...通俗易懂,格式,变量命名,以及注释齐全,作者本人隆重推荐,该源码为作者博客"JSON简单介绍"的源码,有需要的请下载。

    vb json 简单事例

    本篇将基于提供的“vb json 简单事例”介绍如何在VB环境中解析和序列化JSON。 1. **JSON基础知识**:JSON是一种独立于语言的数据表示方式,其结构由键值对(key-value pairs)组成,通常以对象(objects)和数组...

    JSON 的简要介绍.docx

    ### JSON 的简要介绍 #### 一、JSON 定义 JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(由欧洲计算机制造商协会European Computer Manufacturers Association...

    JSON格式介绍及解析

    例如,下面是一个简单的使用`jsoncpp`解析和生成JSON的C++代码片段: ```cpp #include <jsoncpp/json/json.h> #include #include int main() { // 解析JSON std::ifstream file("data.json"); Json::Value ...

    json转换jsonschema

    在实际应用中,开发者可以使用这样的工具或库,通过简单的API调用来实现JSON到JSON Schema的转换,从而提高数据处理的可靠性和安全性。例如,如果你正在开发一个Web应用,你可以先将用户提交的JSON数据转换为JSON ...

    简单的JSON解析

    在本篇中,我们将深入探讨如何进行简单的JSON解析,通过一个具体的Demo来帮助理解这一过程。 JSON的基本结构包括对象(object)和数组(array)。对象由键值对组成,用花括号{}包围,键和值之间用冒号分隔,各个...

    php json简单返回demo

    简单的php json返回demo,放到服务器上即可使用,简单易懂

    Linux JSON 命令总结.zip_json linux_shell解析json

    首先,我们介绍几个常用的Linux命令行工具,它们专门用于处理JSON格式的数据: 1. **`jq`**: `jq`是Linux下的一个强大的JSON处理器,它可以用来查询、过滤、转换JSON数据。通过使用简单的语法,你可以轻松提取、...

    JSON的简单使用

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,设计简单易读,同时也易于机器解析和生成。由于其简洁和高效,JSON已经成为互联网上最常用的数据交换格式之一,尤其在...

    json数据处理简单的源代码

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript等)的习惯,使得这些语言的程序员可以快速地阅读...

    简单实用的json介绍教程

    简单实用的json介绍教程

    Gson解析复杂Json实例,超简单

    Gson的优点在于它的灵活性和易用性,使得处理JSON数据变得简单高效。 ### 添加Gson依赖 在Android项目中使用Gson,首先需要在`build.gradle`文件的dependencies部分添加Gson库依赖: ```groovy dependencies { ...

    自己实现一个简单的JSON解析器

    本着探究 JSON 原理的目的,我将会在这DEMO中实现了一个简单的JSON解析器。由于 JSON 本身比较简单,解析起来也并不复杂。所以如果大家感兴趣的话,在看完本DEMO后,不妨自己动手实现一个 JSON 解析器。

    java json api,json api

    JSON(JavaScript Object ...它提供了一系列方便的API,使得JSON的创建、解析、转换变得简单,同时与其他数据格式如XML的交互也十分便捷。在理解并熟练掌握这些知识点后,开发者能够更好地应对JSON数据处理的各种场景。

    001-JSON介绍

    5. **使用场景**:XML由于其丰富的结构和扩展性,更适合于复杂的数据模型和文档存储,而JSON更适合简单的数据交换和轻量级的应用。 总结来说,JSON作为一种轻量级的数据交换格式,因其简洁、高效和易用性,已经成为...

    JsonView查看JSON利器

    9. **易用性**:尽管JsonView功能强大,但其界面简洁,操作简单,即使是对JSON不熟悉的用户也能快速上手。 10. **社区支持**:由于声明非原创,JsonView可能是开源项目,这意味着它背后有活跃的社区支持,持续改进...

    Gson解析json数据

    它使得在Java应用程序中处理JSON变得非常简单,无论是将JSON转换为等效的Java对象,还是将Java对象转换为JSON格式的字符串。在本文中,我们将深入探讨如何使用Gson解析JSON数据,包括处理简单JSON和复杂的JSON结构。...

    jquery ajax servlet json简单demo

    【Demo流程】在这个"jquery ajax servlet json简单demo"中,我们可以预期以下流程: 1. 客户端(浏览器)的JavaScript代码使用jQuery的AJAX函数发起请求,请求可能包含一些参数,格式化为JSON。 2. 请求被发送到...

    json简单介绍

    这种便捷性在AJAX(异步JavaScript和XML)技术中体现得尤为明显,JSON成为AJAX通信的标准响应格式,因为它比XML更快,解析更简单。 JSON不仅支持多种语言,如ActionScript、C#、PHP、Python等,还拥有良好的跨域...

    JSON net.sf.json jar包

    2. **自动类型转换**:`net.sf.json`库可以自动识别并处理各种Java类型,如基本类型、自定义类、数组、集合等,使得JSON转换过程更为简单。 3. **JSON操作**:除了转换功能,该库还提供了丰富的API来操作JSON对象,...

Global site tag (gtag.js) - Google Analytics