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的图片懒加载js
Jun 30 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
Apr 06 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
非常实用的12个jquery代码片段
Nov 02 Javascript
angularJS 如何读写缓冲的方法(推荐)
Aug 06 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 Javascript
ES6数组的扩展详解
Apr 25 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 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
5.PHP的其他功能
2006/10/09 PHP
Email+URL的判断和自动转换函数
2006/10/09 PHP
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP中session变量的销毁
2014/02/27 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
使用JS动态显示文本
2017/09/09 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python实现12306火车票抢票系统
2019/07/04 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
用python实现学生管理系统
2020/07/24 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
酒店实习个人鉴定
2013/12/07 职场文书
内衣营销方案
2014/03/15 职场文书
文员求职信
2014/07/15 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2014年关工委工作总结
2014/11/17 职场文书
小学感恩主题班会
2015/08/12 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
浅谈Vue的computed计算属性
2022/03/21 Vue.js