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进行拖拽
Jul 20 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
去掉gridPanel表头全选框的小例子
Jul 18 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
Nov 22 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
Dec 12 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
JS弹出新窗口被拦截的解决方法
Aug 09 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
Mar 16 Javascript
JavaScript数组去重算法实例小结
May 07 Javascript
详解Vue路由自动注入实践
Apr 17 Javascript
vue实现列表拖拽排序的示例代码
Apr 08 Vue.js
深入理解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
一个SQL管理员的web接口
2006/10/09 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
JS功能代码集锦
2016/05/04 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
基于vue-resource jsonp跨域问题的解决方法
2018/02/03 Javascript
vue实现记事本功能
2019/06/26 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
go和python调用其它程序并得到程序输出
2014/02/10 Python
python检测远程端口是否打开的方法
2015/03/14 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
关于打架的检讨书
2014/01/17 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
大型车展策划方案
2014/02/01 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
教师三严三实心得体会
2014/10/11 职场文书
2014年招商工作总结
2014/11/22 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫