解析Json字符串的三种方法日常常用


Posted in Javascript onMay 02, 2018

在很多时候,我们的需要将类似 json 格式的字符串数据转为json,

下面将介绍日常中使用的三种解析json字符串的方法

 1.首先,我们先看一下什么是 json 格式字符串数据,很简单,就是 json 字符串化,在json 最外加单/双号变为字符串数据     

var str='{"name":"Mike","sex":"女","age":"29"}';
 var t2="[{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";

  2.我们用Object.prototype.toString.call() 来检测数据类型

console.log(Object.prototype.toString.call(str));//[object String]
 console.log(Object.prototype.toString.call(t2));//[object String]

第一种方法:evel();

   特点:安全性底,不建议使用,单个JSON对象时要加括号,JSON数组就不需要了

      示例:

var evajson =eval('('+str+')');
var evajsarr = eval(t2);

  转换后,再使用Object.prototype.toString.call() 来检测转换后的数据类型

console.log(Object.prototype.toString.call(evajso))//[object Object]
console.log(Object.prototype.toString.call(evajsarr))//[object Array]

第二种:new Function() 

 注意:函数要有返回,所以要加“return”;

 示例:

var fnjson = new Function("return"+str)();
 var fnjsonArr = new Function("return"+t2)();

 转换后,再使用Object.prototype.toString.call() 来检测转换后的数据类型

console.log(Object.prototype.toString.call(fnjson ))//[object Object]
console.log(Object.prototype.toString.call(fnjsonArr ))//[object Array]

第三种:JSON.parse()

特点:主流,兼容性好,推荐

 示例:

var parjson = JSON.parse(str); 
 var parjson = JSON.parse(t2);

检测转后的数据类型

console.log(Object.prototype.toString.call(parjson ))//[object Object]
 console.log(Object.prototype.toString.call(parjson ))//[object Array]

总结

以上所述是小编给大家介绍的解析Json字符串的三种方法日常常用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 白痴级入门教程
Nov 11 Javascript
jQuery实现的类flash菜单效果代码
May 17 Javascript
基于JQuery的asp.net树实现代码
Nov 30 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
面试常见的js算法题
Mar 23 Javascript
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
js弹性势能动画之抛物线运动实例详解
Jul 27 Javascript
基于模板引擎Jade的应用(详解)
Dec 12 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 #Javascript
vue中的模态对话框组件实现过程
May 01 #Javascript
vue如何通过id从列表页跳转到对应的详情页
May 01 #Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
May 01 #Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
May 01 #Javascript
如何获取TypeScript的声明文件.d.ts
May 01 #Javascript
Vue项目中使用Vux的安装过程
May 01 #Javascript
You might like
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python解析json实例方法
2013/11/19 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
Python SQLite3简介
2018/02/22 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
python类的实例化问题解决
2019/08/31 Python
简单了解python协程的相关知识
2019/08/31 Python
浅谈django channels 路由误导
2020/05/28 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
专科毕业生学习生活的自我评价
2013/10/26 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
学习心得体会
2014/01/01 职场文书
车辆安全检查制度
2014/01/12 职场文书
迟到检讨书400字
2014/01/13 职场文书
安全承诺书范文
2014/03/26 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
离婚财产处理协议书
2014/09/30 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js