`
sisi1984117
  • 浏览: 158140 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

【转】JS中将json序列化与解析(讲jquery对象序列化)

阅读更多

   在www.json.org/json.js下载了这个json工具类

http://jelly.iteye.com/blog/138707

因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。
   
   

js 代码
  1. var myJSONObject = {"bindings": [  
  2.          {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},  
  3.          {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},  
  4.          {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}  
  5.      ]  
  6. };  

在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method""regex"。

在javascript 中, 成员可以通过“点号”来获取。
比如:
js 代码
  1. myJSONObject.bindings[0].method  

通过eval() 函数可以将JSON字符串转化为对象。
js 代码
  1. var myObject = eval('(' + myJSONtext + ')');  

eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可信任的。

如果基于安全的考虑的话,最好是使用一个
JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。
js 代码
  1. var myObject = JSON.parse(myJSONtext, filter);  

可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

js 代码
  1. myData = JSON.parse(text, function (key, value) {       
    1. return key.indexOf('date') >= 0 ? new Date(value) : value;     });

stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
js 代码
  1. var myJSONText = JSON.stringifier(myObject);  
分享到:
评论

相关推荐

    js中将字符串转换成json的三种方式.docx

    - **序列化JSON**:与解析相反,`JSON.stringify()`方法可以将JavaScript对象序列化为JSON字符串。 理解并熟练掌握这些方法和注意事项,对于进行JavaScript开发,特别是涉及到数据交换和序列化的场景,是非常重要的...

    django实现将后台model对象转换成json对象并传递给前端jquery

    在成功回调函数中,使用`jQuery.parseJSON`将接收到的JSON字符串解析为JavaScript对象: ```javascript $.ajax({ url: "{% url 'sqlapply:auditSqlOrder' %}", type: "GET", data: {"id": id, "args": ...

    java中引用json所用的jar包

    1. **Jackson库**:Jackson是Java中最流行的JSON处理库之一,它提供了一套完整的解决方案,包括序列化(将Java对象转换为JSON字符串)和反序列化(将JSON字符串转换为Java对象)。Jackson的核心组件包括`Jackson-...

    jQuery向后台传入json格式数据的方法

    jQuery向后台传入json格式数据的方法主要涉及了前端技术中的jQuery库以及前端与后端的数据交互。在Web开发过程中,前后端交互是一个非常重要的环节,而JSON(JavaScript Object Notation)作为轻量级的数据交换格式...

    SpringMVC整合jdbc+json实例

    JSON序列化与反序列化** 为了在Controller中将数据以JSON格式发送给前端,我们需要一个JSON库,如Jackson或Gson。这里以Jackson为例,添加相关依赖后,在Controller中使用`@ResponseBody`注解将对象转换为JSON并...

    jQuery Design Patterns

    《jQuery Design Patterns》是一本专为JavaScript开发者设计的书籍,特别是针对那些希望构建大型、可维护的JavaScript应用程序的程序员。jQuery作为最流行的JavaScript库之一,它的设计模式在现代Web开发中占据着...

    jquery自动将form表单封装成json的具体实现

    服务器端的方法接收到JSON数据后,将其反序列化为`UserInfo`对象,然后将该对象再次序列化回JSON,作为HTTP响应返回。 在`RateArticleSuccess`回调函数中,我们可以处理来自服务器的响应。这里的`result`是服务器...

    《锋利的jQuery》高清扫描PDF带书签目录完整版+源码

    jQuery的Ajax功能使得与服务器的异步交互变得简单,开发者可以轻松地实现数据的获取和提交,无需处理底层XMLHttpRequest对象的复杂性。书中将讲解$.ajax、$.get、$.post等函数的用法,以及如何处理JSON、XML等多种...

    jQuery的Ajax接收java返回数据方法

    这样,Spring MVC会自动处理JSON序列化,无需手动写入JSON字符串。 总的来说,前端通过jQuery的Ajax调用向后端发送请求,后端根据请求处理业务逻辑,然后以适当的数据格式(如JSON或HTML)返回数据。前端接收到数据...

    Head First Ajax 中文版 书籍和源码.rar

    读者将学习到如何使用JavaScript处理DOM(Document Object Model),动态地操作网页元素,以及如何通过JavaScript进行数据的序列化和解析,包括JSON(JavaScript Object Notation)和XML的使用。 此外,书中还将...

    AJAX IN ACTION

    书里会详细介绍这两种数据格式的使用,包括如何序列化和反序列化,以及它们在不同场景下的优缺点。 4. **异步编程**:书中会讨论异步编程模型,如回调函数、Promise和现代JavaScript中的async/await语法,以处理...

    jQuery+ajax实现修改密码验证功能实例详解

    该调用通过指定的URL发起异步HTTP POST请求,将表单数据序列化后发送到服务器。服务器处理完毕后,会返回相应的数据。通过success回调函数,可以处理返回的数据,如判断操作是否成功,并做出相应的提示或者跳转。 5...

    corkboard:分叉软木板JS项目

    - **变量与数据类型**: JavaScript支持var、let和const三种声明变量的方式,以及包括字符串、数字、布尔值、数组、对象等多种数据类型。Corkboard项目中会用到这些基础概念来存储和操作任务信息。 - **函数与模块...

    Django查询优化及ajax编码格式原理解析

    - 前端需要指定`content-type`为`application/json`,并通过`JSON.stringify()`方法序列化数据。 - Django不会自动解析JSON数据,需手动处理`request.body`。 #### 3.3 发送文件 使用Ajax发送文件时,通常会使用...

    cryptoform:使用PGP加密的端到端加密Web表单

    yaml / xml编码) 含有序列化形式的数据和所有连接文件中的数据文件是压缩在一起成为使用单个压缩文件 (在存储器中,还未有任何上传) 使用或将zip文件加密为一个(或多个)公共PGP密钥zip文件将被丢弃,加密的zip...

    Ajax实现文件上传功能(Spring MVC)

    `processData`设置为`false`防止jQuery尝试序列化数据,`contentType`设置为`false`防止设置默认的`Content-Type`头,因为文件上传需要特殊的MIME类型。 接下来是后端部分,我们需要在Spring MVC的Controller中定义...

Global site tag (gtag.js) - Google Analytics