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判断录入的日期是否合法
Jan 08 Javascript
JavaScript经典效果集锦
Jul 06 Javascript
javascript面向对象特性代码实例
Jun 12 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
JavaScript函数使用的基本教程
Jun 04 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
Mar 30 Javascript
weUI应用之JS常用信息提示弹层的封装
Nov 21 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
node-sass安装失败的原因与解决方法
Sep 04 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
Jan 25 Javascript
Vue脚手架的简单使用实例
Jul 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
Terran兵种介绍
2020/03/14 星际争霸
php cli 小技巧
2013/06/03 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
PHP实现验证码校验功能
2017/11/16 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
2012/03/04 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
js创建对象的区别示例介绍
2014/07/24 Javascript
JsRender实用入门教程
2014/10/31 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
浅谈微信小程序flex布局基础
2018/09/10 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
vue-router 按需加载 component: () => import() 报错的解决
2020/09/22 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python实现维吉尼亚算法
2019/03/20 Python
python中的协程深入理解
2019/06/10 Python
关于Python作用域自学总结
2019/06/10 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
关于法制教育的宣传语
2015/07/13 职场文书