Dojo的内建JSON解析模块
来源:互联网 发布:拍拍贷网络借贷平台 编辑:程序博客网 时间:2024/04/27 02:04
原文链接: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字符串:
反过来,要将一个对象序列化为JSON字符串:
新的JSON模块现在已能够正确地序列化日期数据。以前dojo.fromJson会将日期对象序列化为"{}",现在则会自动转成标准日期格式( UTC的ISO标准格式)。
内建函数的性能 - 保持轻量
新的JSON模块通过has()函数来决定是否采用内置的JSON功能。这不仅仅是一种功能检测,它还意味着当你需要针对特定浏览器打包时,对于最新的主流浏览器而言,该模块只有几个字节的大小,这对于移动应用是非常有价值的。
遗留函数dojo.fromJson和dojo.toJson还将在于Dojo base中继续存在一段时间,但出于性能以及与标准的一致性的考虑,推荐采用这个dojo/json包中的parse和stringify函数。
原作者: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学习经验总结】强大的DOJO:dojo/aspect模块
- Dojo自定义模块的国际化
- python-Json模块【解析Json】
- python-Json模块【解析Json】
- python-Json模块【解析Json】
- python-Json模块【解析Json】
- python解析json:json模块
- lua模块之cjson模块-json解析
- 正确解析dojo的子小部件
- dojo.mixin、dojo.extend、dojo.delegate解析
- pyhon的json模块
- Python的JSON模块
- python的json模块
- 网页json解析 字典内数组
- dojo.string模块详述
- dojo之模块分支
- dojo dom-form模块
- 查找 EXC_BAD_ACCESS 问题根源的方法
- ORA-00257: archiver error. Connect internal only, until freed
- C++常见问题
- WPF 触发器简单示例
- Mac下给窗口截屏的快捷键
- Dojo的内建JSON解析模块
- fr技术类
- Android 中的 Service 全面总结
- 关于复制构造函数(拷贝构造函数)和赋值操作符(拷贝赋值函数)应该知道的
- 读取网络文件遇到的问题。
- junit 4.10
- linux的自旋锁struct spinlock_t的使用
- java实现应用程序记住用户名、密码功能
- 关闭vim自动语法折叠