解析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打造的百分比动态色彩条插件
Sep 19 Javascript
chrome不支持form.submit的解决方案
Apr 28 Javascript
js验证上传图片的方法
May 12 Javascript
JavaScript实现模仿桌面窗口的方法
Jul 18 Javascript
js输入框使用正则表达式校验输入内容的实例
Feb 12 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
layui 优化button按钮和弹出框的方法
Aug 15 Javascript
koa2实现登录注册功能的示例代码
Dec 03 Javascript
javascript中的this作用域详解
Jul 15 Javascript
微信小程序class封装http代码实例
Aug 24 Javascript
js实现AI五子棋人机大战
May 28 Javascript
React实现阿里云OSS上传文件的示例
Aug 10 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 clearstatcache()函数详解
2010/03/02 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
vue实现树状表格效果
2020/12/29 Vue.js
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python Django模板的使用方法
2016/01/14 Python
python 全文检索引擎详解
2017/04/25 Python
Django中Forms的使用代码解析
2018/02/10 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
详细分析Python垃圾回收机制
2020/07/01 Python
python 基于opencv去除图片阴影
2021/01/26 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
三严三实对照检查材料
2014/08/25 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技