解析Json字符串的三种方法
在很多时候,我们的需要将类似 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]
完结,谢谢。。。
参考:https://www.w3cschool.cn/json/8kjw1pl0.html
解析Json字符串的三种方法的更多相关文章
- DataTable转换为Json字符串的三种方法
		
//第一种:使用StringBuilder public string DataTableToJson(DataTable table) { var JsonString = new StringB ...
 - Java构造和解析Json数据的两种方法详解二
		
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...
 - Java构造和解析Json数据的两种方法详解二——org.json
		
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...
 - Java构造和解析Json数据的两种方法详解一——json-lib
		
转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...
 - 彻底了解构建 JSON 字符串的三种方式
		
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7701856.html 前言:JSON 是轻量级的数据交换格式,很常用,尤其是在使用 Ajax ...
 - python—字符串拼接三种方法
		
python—字符串拼接三种方法 1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...
 - java后台处理解析json字符串的两种方式
		
简单说一下背景 上次后端通过模拟http请求百度地图接口,得到的是一个json字符串,而我只需要其中的某个key对应的value. 当时我是通过截取字符串取的,后来觉得不太合理,今天整理出了两种处理解 ...
 - {转}Java 字符串分割三种方法
		
http://www.chenwg.com/java/java-%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E4%B8%89%E7%A7%8D%E6%9 ...
 - (六)C#中判断空字符串的三种方法性能分析
		
三种方法分别是: string a=""; 1.if(a=="") 2.if(a==string.Empty) 3.if(a.Length==0) 三种方法是等 ...
 
随机推荐
- Qzone React Native改造
			
Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行React Natived的改造.在情侣空间基础上,Android Qzone 6.2版本以融 ...
 - parcel和parcelable
			
Parcel 在英文中有两个意思,其一是名词,为包裹,小包的意思: 其二为动词,意为打包,扎包.邮寄快递中的包裹也用的是这个词.Android采用这个词来表示封装消息数据.这个是通过IBinder通信 ...
 - python 多进程 logging:ConcurrentLogHandler
			
python 多进程 logging:ConcurrentLogHandler python的logging模块RotatingFileHandler仅仅是线程安全的,如果多进程多线程使用,推荐 Co ...
 - (一一三)使用系统自带框架操作SQLite3数据库
			
系统自带的框架是基于C语言的,使用比较繁琐. 下面是使用步骤: 首先导入libsqlite3.0.dylib. ①在Document目录下打开数据库,如果没有则创建. NSString *sqlite ...
 - 深入剖析Tomcat会话机制
			
1缓存机制 Tomcat默认将Session保存到内存中.但同时,Tomcat也提供了PersistentManager配合不同的Store实现的方式,使Session可以被保存到不同地方(Datab ...
 - Eclipse 主题
			
Eclipse开发环境默认都是白底黑字的,看到同事的Xcode中设置的黑灰色背景挺好看的,就去网络上查了一下.发现Eclipse也可以设置主题. http://eclipsecolorthemes.o ...
 - 【一天一道LeetCode】#217. Contains Duplicate
			
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
 - USB有时adb shell连不上设备
			
USB有时adb shell连不上设备 图1 下面汇总有效的解决方法 1. 重启 2. 卸载和重新装载驱动 图2 3.
 - Java-Io之文件File
			
File是"文件"和"目录路径名"的抽象表示形式.File之间继承Object,实现了Serializable和Comparable接口,因此文件支持File对 ...
 - Workflow相关表简单分析
			
静态定义表(没有ITEM_KEY,因为ITEM_KEY代表一个wf实例) --获取item_type定义. SELECT * FROM wf_item_types t WHEREt.name= 'CU ...