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 相关文章推荐
JS获取浏览器版本及名称实现函数
Apr 02 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
JS实现图片无间断滚动代码汇总
Jul 30 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
原生javascript实现的一个简单动画效果
Mar 30 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
vue 中 命名视图的用法实例详解
Aug 14 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 Javascript
Openlayers3实现车辆轨迹回放功能
Sep 29 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构造方法中析构方法在继承中的表现
2016/04/12 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
动态调用CSS文件的JS代码
2010/07/29 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
nodejs多版本管理总结
2018/04/03 NodeJs
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python松散正则表达式用法分析
2016/04/29 Python
深入浅析python 中的匿名函数
2018/05/21 Python
python实现俄罗斯方块
2018/06/26 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
库房管理员岗位职责
2014/03/09 职场文书
爱护公物标语
2014/06/24 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
鲁冰花观后感
2015/06/10 职场文书
纪律委员竞选稿
2015/11/19 职场文书