关于JQUery.parseJSON()函数的知识札记
JSON数据也许大家都很陌生,而对我来讲属于半成品,由于项目问题,做web虽然用的是JSON数据格式传输,但是关于解析这一块还真不知道该注意什么,更不知道它是如何解析的,由于最近要把串口通信协议与此一致,所以,今天下午特地了解了一下JQuery.parseJSON()函数的相关知识,在此做一次摘录,成为自己的东西。
严格的JSON数据格式:
(1)如果想在网页正确显示自己想要的数据,仅仅通过.parseJSON(jsonstring)函数解析不行,关键在于里面的参数,即JSON数据格式正确与否:
(JSON要求:属性名称必须加双引号,如果对应的属性值是字符串也必须用双引号,不允许是单引号,即所谓的“格式完好”!)
如果传入一个格式不完好的JSON字符串将抛出一个JS异常:如:{id:1};
(2)另外,JSON标准不允许字符串中出现“控制字符”,如“\t”和“\n”,解决这类问题需用反转义的方式,如下正确语句:
$.parseJSON('{"name":"ysq\\txzh\\n"}');
(3)parseJSON()函数属于全局的jQuery对象;
(4)jQuery.parseJSON()函数的返回值为任意类型,返回解析指定的JSON字符串后的JavaScript的表示。
(5)关于jsonstring参数用法的举例如下:
01、var result1 = $.parseJSON("{}"); // 空的object对象;
02、var result2 = $.parseJSON('{"name":"ysq","age":25}'); // 一个object对象;
alert(result2.name); // ysq;
03、var result3 = $.parseJSON('[1,true,"ysq"]'); // object对象;
alert(result3[2]); // ysq;
04、var result4 = $.parseJSON('true'); // 布尔值:true;
05、var result5 = $.parseJSON('null'); // null;
06、var result6 = $.parseJSON('0'); // 整数:0;
07、var result7 = $.parseJSON('"专注"'); // 字符串值:专注;
08、var result8 = $.parseJSON("\"专注\"");// 同上;
/ ********** 以下是无效的JSON字符串或非常规的参数值 ***********/
09、var result9 = $.parseJSON(100);// 1.9之前返回null,之后返回100;
010、var result10 = $.parseJSON(1.23);// 同上,返回1.23;
011、var result11 = $.parseJSON(true);// 同上,返回true;
012、var result12 = $.parseJSON(null);// 返回null;
013、var result13 = $.parseJSON('''');// 1.9前返回null,后抛出错误;
014、var result14 = $.parseJSON(undefined);// 同上;
015、var result15 = $.parseJSON("undefined");// 抛出错误;
016、var result16 = $.parseJSON("12x;xx'无效的JSONx456");// 同上;
017、var result17 = $.parseJSON('{name:"ysq",age:1}');// 同上;
018、var result18 = $.parseJSON('{"name":\'ysq\',"age":1}');// 同上;
019、var result19 = $.parseJSON('{"name":"ysq\txzh\n"}');// 同上;
关于JQUery.parseJSON()函数的知识札记的更多相关文章
- jQuery.parseJSON()函数详解
jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象. 所谓”格式完好”,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双 ...
- DataTable转json字符串,jQuery.parseJSON()把json字符串转为标准的json对象格式
1.string res = DataTableToJson.DataTable2Json(dt);讲DataTable转换为json字符串 http://www.365mini.com/page/j ...
- 图片放大功能插件及jquery.extend函数理解
前端时间,产品提出社区评论中的图片需要有放大功能.感觉可以共用,所以就想整合一个插件,过程中也借鉴了一些例子. 分析下自己的代码思路: var scaleImg = function(opts) { ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- 使用Jquery解析Json基础知识
前言 在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. ...
- jQuery.ajax() 函数详解
jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...
- 使用Jquery解析Json基础知识(转)
在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...
- jQuery.parseJSON()方法
jQuery.parseJSON()方法 jQuery 杂项方法 实例 解析一个 JSON 字符串 $(function () { var obj = jQuery.parseJSON('{" ...
- jQuery.parseJSON vs JSON.parse
转载:http://stackoverflow.com/questions/10362277/jquery-parsejson-vs-json-parse 一.JavaScript函数JSON.par ...
随机推荐
- WebGL简易教程(八):三维场景交互
目录 1. 概述 2. 实例 2.1. 重绘刷新 2.2. 鼠标事件调整参数 3. 结果 4. 参考 1. 概述 在上一篇教程<WebGL简易教程(七):绘制一个矩形体>中,通过一个绘制矩 ...
- 【柠檬班】史上最简单的Jmeter跨线程组取参数值的两种办法(不写代码)【原创】
如果你工作中已经在用jmeter做接口测试,或性能测试了,你可能会遇到一个麻烦,哪就是jmeter的变量值不能跨线程组传递. 看,官方就已经给出了解释.这个不是jmeter的缺陷,这是jmeter ...
- 使用 Jenkins 与 Sonar 集成对代码进行持续检测
SonarQube 与 Jenkins 简介 SonarQube是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题.同时,它提供了丰富的插件,支持多种语言的检测 ...
- C# WinForm 跨线程访问控件(实用简洁写法)
C# WinForm 跨线程访问控件(实用简洁写法) 1.<C# WinForm 跨线程访问控件(实用简洁写法)> 2.<基于.NET环境,C#语言 实现 TCP NAT ...
- ui自动化测试
一.梳理 1.根据要求需要自动添加很多条数据 2.这就涉及到ui方面的知识.元素定位的方法(这个就能遇到很多坑,要完全掌握元素定位才能避免进坑).循环等(代码基础要掌握好) 二.操作 选择进行自动化操 ...
- 浅谈json web token及应用
Json Web Token (JWT),是一个非常轻巧的规范,这个规范允许在网络应用环境间客户端和服务器间较安全的传递信息.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO) ...
- Ubuntu16.04安装java6(jdk 1.6)
目录 下载安装包 安装 移动到指定位置并设置版本 设置环境变量 切换java版本 下载安装包 先到官网下载安装包. 安装 输入命令 chmod 777 jdk-6u45-linux-x64.bin s ...
- vue中百度地图API的调用
1.使用百度地图api需要使用jsonp,来获取百度api的返回,因为vue不自带jsonp所以需要下载 安装jsonp npm i vue-jsonp -S 引入jsop import Vue fr ...
- Vue-cli中axios传参的方式以及后端取的方式
0917自我总结 Vue-cli中axios传参的方式以及后端取的方式 一.传参 params是添加到url的请求字符串中的,用于get请求. data是添加到请求体(body)中的, 用于post请 ...
- MFC::使用mysql
下载mysql-installer-community-5.7.16.0.msi,安装 mysql server即可. 创建工程包含头文件 #include "winsock.h" ...