解析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中设置默认参数值示例
Sep 11 Javascript
JavaScript中的alert()函数使用技巧详解
Dec 29 Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 Javascript
jQuery中show与hide方法用法示例
Sep 16 Javascript
jquery radio的取值_radio的选中_radio的重置方法
Sep 20 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
如何在vue里添加好看的lottie动画
Aug 02 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
Nov 13 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 Javascript
js实现百度登录窗口拖拽效果
Mar 19 Javascript
vue cli4.0项目引入typescript的方法
Jul 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
牡丹941资料
2021/03/01 无线电
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php常用数组函数实例小结
2016/12/29 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
Yii框架安装简明教程
2020/05/15 PHP
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python列表切片操作实例总结
2019/02/19 Python
python版百度语音识别功能
2019/07/09 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Django继承自带user表并重写的例子
2019/11/18 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
酒店副总经理岗位职责范本
2014/02/04 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL