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 相关文章推荐
取选中的radio的值
Jan 11 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Nov 14 Javascript
node.js中的console.error方法使用说明
Dec 10 Javascript
生成二维码方法汇总
Dec 26 Javascript
jQuery实现仿Google首页拖动效果的方法
May 04 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
js创建对象几种方式的优缺点对比
Sep 28 Javascript
BootstrapValidator超详细教程(推荐)
Dec 07 Javascript
利用Bootstrap实现表格复选框checkbox全选
Dec 21 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
JS实现吸顶特效
Jan 08 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
python通过yield实现数组全排列的方法
2015/03/18 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
Django实现内容缓存实例方法
2020/06/30 Python
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
创立科技Java面试题
2015/11/29 面试题
房地产开发计划书
2014/01/10 职场文书
单位推荐信范文
2015/03/27 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
golang中的空接口使用详解
2021/03/30 Python