解析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之美中不足小结
Feb 16 Javascript
JS控制输入框内字符串长度
May 21 Javascript
jQuery实现为图片添加镜头放大效果的方法
Jun 25 Javascript
JS获取下拉框显示值和判断单选按钮的方法
Jul 09 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
bootstrap实现弹窗和拖动效果
Jan 03 Javascript
简单实现js放大镜效果
Jul 24 Javascript
解析vue中的$mount
Dec 21 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
javascript刷新父页面方法汇总详解
Oct 10 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 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数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
php 删除cookie方法详解
2014/12/01 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
详解Python IO口多路复用
2020/06/17 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
环境工程专业自荐信
2014/03/03 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
婚宴主持词
2015/06/30 职场文书
开业典礼致辞
2015/07/29 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫