JSON和字符串互转在ajax交互中经常用到,以前用过eval("("+jsonText+")") 把接收到的json格式字符串转换为JSON对象。但是用eval()函数存在安全漏洞,因为eval()函数可以解释任何的javascript代码。比如下面的例子:
假设返回的JSON字符串为“[1,2,(function(){document.forms[0].action='http://www.xxx.com/x.aspx'})(),3]”通过eval()函数后就会被执行,页面的第一个表单的action会被恶意修改。
使用JSON对象的stringify()方法和parse()方法可以很好的将两者进行转换 ,不过IE6/7不支持这两个方法。可以引用一个json.js的库解决IE6/7的问题。
其中parse()接收两个参数:json文本和一个可选的过滤函数。过滤函数可以删除或修改对应的key值,针对某个键返回undefined 就会从结果对象中移除该键。
eg:
var jsonText ="{\"name\":\"jone\",\"age\":25,"addr":"xxx"}";
var jsonObj = JSON.parse(jsonText,function(key,value){
switch(key){
case "name" : return value+"s";
case "age" : return value + 1;
case "addr" : return undefined;
default : return value;
}
})
stringify()返回未经缩进的JSON字符串。
eg:
JSON.stringify(jsonObj );
json.js下载地址:https://github.com/douglascrockford/JSON-js
分享到:
相关推荐
NULL 博文链接:https://rd-030.iteye.com/blog/2007745
js中json对象和字符串的理解及相互转化操作实现方法.docx
Json对象与json字符串互相转换处理工具
由php对象生成json字符串 把php对象变成json字符串.zip
主要用于将java对象转换为json对象字符串,或字符串数组。
json对象转化为字符串,也可以字符串的json转换为对象
json字串 解析成jsonObject的工具,替代eval方法使用 IE8以上浏览器貌似自带 JSON.stringify
对象生成json字符串,根据字符串生成对象|list
js页面字符串转json对象
json字符串和js对象之间的转换,包括eval、parseJSON函数、JSON.parse、$.toJSON、$.parseJSON、复杂的json格式对象使用,让你一分钟理解json的那些事
json 字符串转成c++类对象,json 字符串转成c++类对象
主要介绍了谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)以及JSON的parse()和stringfy()方法详解,感兴趣的朋友一起看看吧
asp输出json对象实例,用于生成json对象,不是json字符串。读取生成等都有,欢迎大家测试。
asp字符串转json对象类,原生vbs实现,json对象属性用obj("name")方式访问,obj.name方式不可以
使用Java操作JSON字符串对象,使用Java操作JSON字符串对象
功能:处理json数据 1.将json字符串转换成json对象 2.将json对象转换成json字符串
C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo 写了一个json与C#对象相互装换的类库,直接调用就行,有测试案例,代码注释非常详细 部分方法: /// 将Json字符串解析为C#中的对象 /// Json格式...
Newtonsoft.Json C# MVC中json对象,json字符串 处理 2.0版3.5版4.0版4.5版,综合以上历史版本,并且有源码。测试可以运行。
主要介绍了js中json对象和字符串的理解及相互转化操作实现方法,结合实例形式分析了json对象与字符串的功能以及相互转换操作实现技巧,需要的朋友可以参考下