解析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 相关文章推荐
JavaScript 内置对象属性及方法集合
Jul 04 Javascript
js自定义事件代码说明
Jan 31 Javascript
JQuery悬停控制图片轮播——代码简单
Aug 05 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
超详细的javascript数组方法汇总
Nov 21 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 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学习笔记 类的声明与对象实例化
2011/06/13 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
删除条目时弹出的确认对话框
2014/06/05 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue常用指令详解分析
2018/08/19 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Python的requests网络编程包使用教程
2016/07/11 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
竞选文艺委员演讲稿
2014/04/28 职场文书
护理专科学生自荐书
2014/07/05 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
兵马俑导游词
2015/02/02 职场文书
小学班主任自我评价
2015/03/11 职场文书
七一晚会主持词
2015/06/29 职场文书