`
fulerbakesi
  • 浏览: 562034 次
文章分类
社区版块
存档分类
最新评论

Dojo的内建JSON解析模块

 
阅读更多
原文链接:http://www.sitepen.com/blog/2012/01/05/native-json-parsing-in-dojo/
原作者:Kris Zyp

Dojo1.7引入了一个新的模块:dojo/json。该模块与原有的dojo.fromJson和dojo.toJson函数的不同点在于,它基于JavaScript语言内建支持的JSON API。它还采用了内建的JSON解析与序列化功能(如果存在的话),因此在任何浏览器上都能达到最快的速度。

新的API用起来很简单,而且如果你用过json.org函数库或者浏览器内建函数的话,就会更容易上手。一旦加载了"dojo/json"模块并赋予变量JSON后,我们就能使用其中的parse和stringify函数了。例如要解析一个JSON字符串:
define(["dojo/json"], function(JSON){
  var jsonStr = '{"name": "value"}';
  var object = JSON.parse(jsonStr);
  object.name -> "value";
});
如果浏览器支持,在这个parse函数中就会使用内建的解析函数,否则的话就退化为Dojo自己的实现。

反过来,要将一个对象序列化为JSON字符串:
define(["dojo/json"], function(JSON){
  var object = {"name": "value"};
  var jsonStr = JSON.stringify(object);
  jsonStr -> '{"name": "value"}'
});
日期数据的序列化

新的JSON模块现在已能够正确地序列化日期数据。以前dojo.fromJson会将日期对象序列化为"{}",现在则会自动转成标准日期格式( UTC的ISO标准格式)。

内建函数的性能 - 保持轻量

新的JSON模块通过has()函数来决定是否采用内置的JSON功能。这不仅仅是一种功能检测,它还意味着当你需要针对特定浏览器打包时,对于最新的主流浏览器而言,该模块只有几个字节的大小,这对于移动应用是非常有价值的。

遗留函数dojo.fromJson和dojo.toJson还将在于Dojo base中继续存在一段时间,但出于性能以及与标准的一致性的考虑,推荐采用这个dojo/json包中的parse和stringify函数。
分享到:
评论

相关推荐

    dojo与json应用

    dojo与json应用说明

    dojo dojo实例 dojo例子 dojo资料 dojo项目 dojo实战 dojo模块 dojo编程

    dojo dojo实例 dojo例子 dojo资料 dojo项目 dojo实战 dojo模块 dojo编程

    dojo_doc(json+dojo的例子)

    dojo_doc(json+dojo的例子).rar,dojo_doc(json+dojo的例子).rar

    使用Dojo,JSON开发ajax

    使用Dojo,JSON开发ajax

    dojo,C#做的财务模块

    dojo,C#做的财务模块dojo,C#做的财务模块dojo,C#做的财务模块dojo,C#做的财务模块

    dojo与json应用说明.pdf

    dojo与json应用说明.pdf

    dojo精品中文教程(包一)

    Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习...

    dojo精品中文教程(全)

    Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习...

    dojo精品中文教程(包二)

    Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习...

    dojo模块化实例

    dojo模块化实例,利用dojo.xd.js跨域调用js模块

    DOJO 学习笔记 dojo

    模块与包) 1 二、 Dojo学习笔记(2. djConfig解说) 4 三、 Dojo学习笔记(3. Dojo的基础对象和方法) 6 四、 Dojo学习笔记(4. dojo.string & dojo.lang) 9 五、 Dojo学习笔记(5. dojo.lang.array & dojo.lang.func & ...

    dojo精品中文教程(包三)

    Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习...

    dojo文档 dojo文档 dojo文档

    dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档

    精通Dojo by Dojo之父

    通过本书,读者将学会如何在开发中将自己的项目模块化,还将学到该JavaScript库在核心功能方面的一些增强。学习完本书后,读者不仅能熟悉Dojo框架的使用,还能了解Ajax框架的工作原理,最重要的是,还能随心所欲地...

    dojo js dojo js

    dojo js dojo js dojo js dojo js dojo js dojo js dojo js

    利用Dojo和JSON建立无限级AJAX动态加载的功能模块树

    利用Dojo和JSON建立无限级AJAX动态加载的功能模块树

    DOJO中文手册【出自dojo中国】

    DOJO中文手册【出自dojo中国】 页数60+ 简单介绍: Dojo 是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)), 这也是为什么叫它a \"unified\" toolkit的...

    MPXJ-Dojo-Gantt:使用MPXJ的Dojo Gantt JSON输出

    此代码使用MPXJ处理Microsoft Project文件(MPP),并以Dojo Gantt库期望的JSON格式输出它们。 目前,转换只是从MPP到Dojo Gantt JSON的一种方式。 信息资源 Dojo Gantt- MPXJ- //mpxj.sourceforge.net/

    javascript dojo

    学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源...

    Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库

    dojo.js.核心jsDojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库

Global site tag (gtag.js) - Google Analytics