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 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
JavaScript 调试器简介
Feb 21 Javascript
jQuery 使用手册(五)
Sep 23 Javascript
javascript Demo模态窗口
Dec 06 Javascript
测试JavaScript字符串处理性能的代码
Dec 07 Javascript
JavaScript Event学习第三章 早期的事件处理程序
Feb 07 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
基于jstree使用AJAX请求获取数据形成树
Aug 29 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
Vue Cli3 创建项目的方法步骤
Oct 15 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
Mar 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中for循环语句的几种变型
2006/11/26 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
详解jQuery事件
2017/01/13 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
介绍Python中的__future__模块
2015/04/27 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
快速了解Python中的装饰器
2018/01/11 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
恶意软件的定义
2014/11/12 面试题
中医临床专业自我鉴定范文
2014/01/15 职场文书
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
学校政风行风整改方案
2014/10/25 职场文书