JavaScript中字符串(string)转json的2种方法


Posted in Javascript onJune 25, 2015

第一种方式:

使用js函数eval();

testJson=eval(testJson);是错误的转换方式。

正确的转换方式需要加(): testJson = eval("(" + testJson + ")");

eval()的速度非常快,但是他可以编译以及执行任何javaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服务器不严格的编码在json或者如果不严格验证的输入,就有可能提供无效的json或者载有危险的脚本,在eval()中执行脚本,释放恶意代码。

js代码:

  function ConvertToJsonForJs() {

            //var testJson = "{ name: '小强', age: 16 }";(支持)

            //var testJson = "{ 'name': '小强', 'age': 16 }";(支持)

            var testJson = '{ "name": "小强", "age": 16 }';

            //testJson=eval(testJson);//错误的转换方式

            testJson = eval("(" + testJson + ")");

            alert(testJson.name);

        }

第二种方式使用jquery.parseJSON()方法对json的格式要求比较高,必须符合json格式

jquery.parseJSON()

js:代码

  function ConvertToJsonForJq() {

            var testJson = '{ "name": "小强", "age": 16 }';

            //不知道

            //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹)

            //"{ 'name': "小强", 'age': 16 }"(name使用单引号)

            testJson = $.parseJSON(testJson);

            alert(testJson.name);

        }

Javascript 相关文章推荐
JQuery 选择器、过滤器介绍
Feb 14 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
js手动播放图片实现图片轮播效果
Sep 17 Javascript
JS简单实现移动端日历功能示例
Dec 28 Javascript
JQuery validate 验证一个单独的表单元素实例
Feb 17 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
微信小程序修改swiper默认指示器样式的实例代码
Jul 18 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 #Javascript
Backbone.js 0.9.2 源码注释中文翻译版
Jun 25 #Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 #Javascript
Underscore.js 1.3.3 中文注释翻译说明
Jun 25 #Javascript
深入分析JSON编码格式提交表单数据
Jun 25 #Javascript
jquery移动点击的项目到列表最顶端的方法
Jun 24 #Javascript
jquery使整个div区域可以点击的方法
Jun 24 #Javascript
You might like
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
php代码书写习惯优化小结
2013/06/20 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
JS方法调用括号的问题探讨
2014/01/24 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
大学军训感言
2014/01/10 职场文书
小学生检讨书大全
2014/02/06 职场文书
会计学自我鉴定
2014/02/06 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
三严三实心得体会范文
2014/10/13 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
课改心得体会范文
2016/01/25 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python