解析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 相关文章推荐
页面只能打开一次Cooike如何实现
Dec 04 Javascript
关于javascript中的typeof和instanceof介绍
Dec 04 Javascript
node.js中的console.info方法使用说明
Dec 09 Javascript
JavaScript将数组转换成CSV格式的方法
Mar 19 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
js实现文本上下来回滚动
Feb 03 Javascript
整理关于Bootstrap导航的慕课笔记
Mar 29 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 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从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP加密解密函数详解
2015/10/28 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
python3生成随机数实例
2014/10/20 Python
django 常用orm操作详解
2017/09/13 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
大学生毕业的自我鉴定
2013/11/13 职场文书
班级聚会策划书
2014/01/16 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
企业法人代表证明书
2014/09/27 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
公积金具结保证书
2015/05/11 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js