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 事件记录使用说明
Oct 20 Javascript
JS:window.onload的使用介绍
Nov 13 Javascript
js简单实现标签云效果实例
Aug 06 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
原生js的数组除重复简单实例
May 24 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
Bootstrap实现带动画过渡的弹出框
Aug 09 Javascript
AngularJS 2.0入门权威指南
Oct 08 Javascript
利用python分析access日志的方法
Oct 26 Javascript
ES6中Array.copyWithin()函数的用法实例详解
Sep 16 Javascript
小程序使用wxs解决wxml保留2位小数问题
Dec 13 Javascript
node.js如何自定义实现一个EventEmitter
Jul 16 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文件锁定写入实例解析
2014/07/14 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
Python操作SQLite简明教程
2014/07/10 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
计算机操作自荐信
2013/12/07 职场文书
葡萄牙语专业个人求职信
2013/12/10 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
家长评语大全
2014/01/22 职场文书
房地产推广策划方案
2014/05/19 职场文书
公司外出活动方案
2014/08/14 职场文书
2015年售票员工作总结
2015/04/29 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
如何通过一篇文章了解Python中的生成器
2022/04/02 Python