解析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 next nextAll nextUntil siblings的区别介绍
Oct 05 Javascript
JS对象与json字符串格式转换实例
Oct 28 Javascript
jQuery实现复选框成对选择及对应取消的方法
Mar 03 Javascript
基于JS实现的倒计时程序实例
Jul 24 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
AngularJS路由实现页面跳转实例
Mar 03 Javascript
angular或者js怎么确定选中ul中的哪几个li
Aug 16 Javascript
JS执行控制之节流模式实例分析
Dec 21 Javascript
webpack的pitching loader详解
Sep 23 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
javascript实现倒计时效果
Feb 17 Javascript
使用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
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
英国健身专家:WIT Fitness
2021/02/09 全球购物
女方回门宴答谢词
2014/01/14 职场文书
英文留学推荐信范文
2014/01/25 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
介绍信格式
2015/01/30 职场文书
博物馆观后感
2015/06/05 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python