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压缩工具 yuicompressor 使用教程
Mar 31 Javascript
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
jQuery模拟超链接点击效果代码
Apr 21 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
May 30 Javascript
jQuery右下角悬浮广告实例
Oct 17 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 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 保留字列表
2012/10/04 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
jquery动态加载图片数据练习代码
2011/08/04 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
Python多线程实现同步的四种方式
2017/05/02 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
opencv python如何实现图像二值化
2020/02/03 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
2014年学生会干事工作总结
2014/11/07 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python