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 相关文章推荐
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
May 28 Javascript
jtable列中自定义button示例代码
Nov 21 Javascript
Javascript中arguments对象详解
Oct 22 Javascript
node.js中的fs.realpathSync方法使用说明
Dec 16 Javascript
使用jQuery仿苹果官网焦点图特效
Dec 23 Javascript
学习JavaScript设计模式(代理模式)
Dec 03 Javascript
理解javascript中try...catch...finally
Dec 25 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
Dec 02 Javascript
100多个基础常用JS函数和语法集合大全
Feb 16 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
Apr 26 Javascript
JavaScript数组排序功能简单实现
May 14 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 程序员也要学会使用“异常”
2009/06/16 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
php木马webshell扫描器代码
2012/01/25 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python数组过滤实现方法
2015/07/27 Python
Python遍历numpy数组的实例
2018/04/04 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python nmap实现端口扫描器教程
2020/05/28 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
交通安全演讲稿
2014/01/07 职场文书
如何撰写岗位职责
2014/02/01 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
团干部培训方案
2014/06/03 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
同乡会致辞
2015/07/30 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle