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对象的比较
Feb 26 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
angularJS 入门基础
Feb 09 Javascript
jquery马赛克拼接翻转效果代码分享
Aug 24 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 Javascript
jQuery实现元素的插入
Feb 27 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
angular2 NgModel模块的具体使用方法
Apr 10 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
javascript设计模式之迭代器模式
Jan 30 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
2017/02/03 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
对pandas中Series的map函数详解
2018/07/25 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
浅析Python3 pip换源问题
2020/01/06 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
意大利男装网店:Vrients
2019/05/02 全球购物
怎样写好自荐信和推荐信
2013/12/26 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
golang判断key是否在map中的代码
2021/04/24 Golang
Java中的随机数Random
2022/03/17 Java/Android
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers