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 相关文章推荐
window.ActiveXObject使用说明
Nov 08 Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
Vue.JS入门教程之处理表单
Dec 01 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
vue引入swiper插件的使用实例
Jul 19 Javascript
vue自动化表单实例分析
May 06 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
Vue将页面导出为图片或者PDF
Aug 17 Javascript
Node配合WebSocket做多文件下载以及进度回传
Nov 07 Javascript
JS图片懒加载的优点及实现原理
Jan 10 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 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
FCK调用方法..
2006/12/21 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Python执行时间的计算方法小结
2017/03/17 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
简单了解Python生成器是什么
2019/07/02 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
python与idea的集成的实现
2020/11/20 Python
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
化学相关工作求职信
2013/10/02 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
公司离职证明标准样本
2014/10/05 职场文书
2014年导购员工作总结
2014/11/18 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android