解析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 相关文章推荐
JSDoc 介绍使用规范JsDoc的使用介绍
Feb 12 Javascript
让新消息在网页标题闪烁提示的jQuery代码
Nov 04 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
详解jQuery简单的表单应用
Dec 16 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
基于Vuejs和Element的注册插件的编写方法
Jul 03 Javascript
Angular通过angular-cli来搭建web前端项目的方法
Jul 27 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
如何使用原生Js实现随机点名详解
Jan 06 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 set_time_limit()函数的使用详解
2013/06/05 PHP
php实现分页工具类分享
2014/01/09 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
Python内置模块turtle绘图详解
2017/12/09 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Python @property使用方法解析
2019/09/17 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
python logging模块的使用
2020/09/07 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
Django缓存Cache使用详解
2020/11/30 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
分享一个python的aes加密代码
2020/12/22 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
绿色环保标语
2014/06/12 职场文书
社区服务标语
2014/07/01 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
带你了解Java中的ForkJoin
2022/04/28 Java/Android