使用Javascript/jQuery将javascript对象转换为json格式数据
2013-03-21 15:39
841 查看
Javascript自带的eval()函数能够将json数据转换成Javascript对象。但是,却没有提供将Javascript对象序列化为json格式的函数。
var json = '{"name":"John"}'; var obj = eval( '(' + json + ')' ); alert( obj.name );
jQuery中可以使用$.parseJSON(json)来将json转换为Javascript对象,但却没有提供将Javascript对象转换成json的函数。
var json = '{"name":"John"}'; var obj = $.parseJSON(json); alert( obj.name );
如果我们要把Javascript对象转化成json,发送给服务器,该怎么办呢?
其实很简单,可以使用jquery.json插件。
插件下载地址:http://code.google.com/p/jquery-json/
当前版本如下:jquery.json-2.4.js (压缩版:jquery.json-2.4.min.js)
该插件提供了4个函数,用于解析和反解析json,具体如下:
•toJSON:将javascript的object, number, string, 或 array 转换成 JSON数据。
•evalJSON:把JSON格式数据转换成Javascript对象,速度很快,不过这点速度微不足道(作者自己说的)。
•secureEvalJSON:把JSON 转换成 Javascript对象,但是转换之前会检查被转换的数据是否是 JSON格式的。
•quoteString:在字符串两端添加引号,并智能转义(跳过)任何引号,反斜杠,或控制字符。
使用例子(注意需要和jQuery核心库结合使用):
var obj = {"plugin":"jquery-json","version":2.4}; //json = '{"plugin":"jquery-json","version":2.4}' var json = $.toJSON( obj ); // 得到name值为:"jquery-json" var name = $.evalJSON( json ).plugin; // 得到version值为:2.4 var version = $.evalJSON( json ).version;
jQuery核心库下载地址:http://jquery.com/
相关文章推荐
- 使用Javascript/jQuery将javascript对象转换为json格式数据
- 使用Javascript/jQuery将javascript对象转换为json格式数据 - 海涛的CSDN博客 - 博客频道 - CSDN.NET
- 使用Javascript/jQuery将javascript对象转换为json格式数据
- 对象转换为JSON数据格式&使用JQuery获取数据
- 使用C#中JavaScriptSerializer类将对象转换为Json格式数据
- json数据解析与JAVA对象转换以及在JQUERY中的使用
- Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用
- 使用Java 语言可以方便的把任意对象转换成json格式的数据
- 使用Jsonlib将对象转换成json格式数据
- javascript数据(对象字符串等)转换成json数据的javascript扩展包的使用
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)
- jQuery中使用Ajax获取JSON格式数据
- jquery里面调用getjson方法,将list类型转换为json格式数据,在页面迭代显示
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)
- 使用eval将json字符串转换为json对象并且处理json数据
- java对象和json数据转换实现方式1-使用json-lib实现
- JS对象与JSON格式数据相互转换(转)
- FireFox中使用JQuery的ajaxfileupload插件返回JSON格式数据提示保存的解决方法。
- JavaScript学习笔记8-jQuery简介、jQuery使用详解、DOM对象与jQuery对象的转换与区别
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题