解析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 相关文章推荐
农历与西历对照
Sep 06 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
Jul 13 Javascript
JavaScript学习历程和心得小结
Aug 16 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
详解webpack + react + react-router 如何实现懒加载
Nov 20 Javascript
从零开始搭建一个react项目开发
Feb 09 Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
May 29 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
jquery实现手风琴案例
May 04 jQuery
js实现轮播图效果 纯js实现图片自动切换
Aug 09 Javascript
js实现验证码干扰(动态)
Feb 23 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/11/03 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
js left,right,mid函数
2008/06/10 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
Js+Ajax,Get和Post在使用上的区别小结
2016/06/08 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
js前端实现图片懒加载(lazyload)的两种方式
2017/04/24 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
充分就业社区汇报材料
2014/05/07 职场文书
教师考核材料
2014/05/21 职场文书
环卫工作汇报材料
2014/10/28 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电
Python中的程序流程控制语句
2022/02/24 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python