解析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加密解密7种方法总结分析
Oct 07 Javascript
javascript显示选择目录对话框的代码
Nov 10 Javascript
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
改变隐藏的input中value值的方法
Mar 19 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 Javascript
图解js图片轮播效果
Dec 20 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
微信小程序实现联动选择器
Feb 15 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 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采集速度探究总结(原创)
2008/04/18 PHP
网友原创的PHP模板类代码
2008/09/07 PHP
用php解析html的实现代码
2011/08/08 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
python中字典dict常用操作方法实例总结
2015/04/04 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
python利用线程实现多任务
2020/09/18 Python
python中K-means算法基础知识点
2021/01/25 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
巴西食品补充剂在线零售商:Músculos na Web
2017/08/07 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
求职者应聘的自我评价
2013/10/16 职场文书
个人求职信范文分享
2013/12/13 职场文书
大三学生入党思想汇报
2014/01/02 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
MySQL学习必备条件查询数据
2022/03/25 MySQL