解析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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
Prototype1.6 JS 官方下载地址
Nov 30 Javascript
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
myeclipse安装jQuery插件的方法
Mar 29 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
Aug 02 Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
Angular.JS去掉访问路径URL中的#号详解
Mar 30 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 Javascript
JavaScript实现栈结构Stack过程详解
Mar 07 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脚本的10个技巧(5)
2006/10/09 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
php面向对象编程self和static的区别
2016/05/08 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
js 判断 enter 事件
2009/02/12 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
python使用socket连接远程服务器的方法
2015/04/29 Python
Python自动化开发学习之三级菜单制作
2017/07/14 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
python psutil模块使用方法解析
2019/08/01 Python
python下载库的步骤方法
2019/10/12 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
django创建css文件夹的具体方法
2020/07/31 Python
Python常用断言函数实例汇总
2020/11/30 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
电焊工岗位职责
2014/03/06 职场文书
妈妈活动方案
2014/08/15 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android