解析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插件jbox使用iframe关闭问题
Feb 09 Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
JS批量操作CSS属性详细解析
Dec 16 Javascript
javascript数组操作方法小结和3个属性详细介绍
Jul 05 Javascript
JavaScript中数组添加值和访问值常见问题
Feb 06 Javascript
给angular加上动画效遇到的问题总结
Feb 17 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
jQuery validate 验证radio实例
Mar 01 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 Javascript
小程序实现tab标签页
Nov 16 Javascript
js实现复制粘贴的两种方法
Dec 04 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中cookie的使用方法
2014/03/29 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
高效使用Python字典的清单
2018/04/04 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
python的dict判断key是否存在的方法
2020/12/09 Python
css3实现超立体3D图片侧翻倾斜效果
2014/04/16 HTML / CSS
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
文化活动实施方案
2014/03/28 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
医德考评自我评价
2014/09/14 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书