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()函数的知识札记的更多相关文章

  1. jQuery.parseJSON()函数详解

    jQuery.parseJSON()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象. 所谓”格式完好”,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双 ...

  2. DataTable转json字符串,jQuery.parseJSON()把json字符串转为标准的json对象格式

    1.string res = DataTableToJson.DataTable2Json(dt);讲DataTable转换为json字符串 http://www.365mini.com/page/j ...

  3. 图片放大功能插件及jquery.extend函数理解

    前端时间,产品提出社区评论中的图片需要有放大功能.感觉可以共用,所以就想整合一个插件,过程中也借鉴了一些例子. 分析下自己的代码思路: var scaleImg = function(opts) { ...

  4. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  5. 使用Jquery解析Json基础知识

    前言 在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. ...

  6. jQuery.ajax() 函数详解

    jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...

  7. 使用Jquery解析Json基础知识(转)

    在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...

  8. jQuery.parseJSON()方法

    jQuery.parseJSON()方法 jQuery 杂项方法 实例 解析一个 JSON 字符串 $(function () { var obj = jQuery.parseJSON('{" ...

  9. jQuery.parseJSON vs JSON.parse

    转载:http://stackoverflow.com/questions/10362277/jquery-parsejson-vs-json-parse 一.JavaScript函数JSON.par ...

随机推荐

  1. Feign【文件上传】

    话不多说,上代码.... 项目公共依赖配置: <parent> <groupId>org.springframework.boot</groupId> <ar ...

  2. python编程基础之四

    注释: 单行注释 #    例: # age = 10 多行注释  三引号“”“  ”“”,‘‘‘ ’’’ 例:“““  age = 10   ””” 只要注释较难的代码, 注释比例大概占总数的30% ...

  3. 面试常考各类排序算法总结.(c#)

    前言 面试以及考试过程中必会出现一道排序算法面试题,为了加深对排序算法的理解,在此我对各种排序算法做个总结归纳. 1.冒泡排序算法(BubbleSort) 1.1 算法描述 (1)比较相邻的元素.如果 ...

  4. MyBatis拦截器自定义分页插件实现

    MyBaits是一个开源的优秀的持久层框架,SQL语句与代码分离,面向配置的编程,良好支持复杂数据映射,动态SQL;MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyB ...

  5. Failure to transfer org.springframework:spring-jcl:jar:5.0.7.RELEASE from

    错误信息: Failure to transfer org.springframework.boot:spring-boot-maven-plugin:pom:1.5.4.RELEASE from h ...

  6. ‎Cocos2d-x 学习笔记(14.1) Event EventCustom EventListener

    1. Event EventCustom 所有事件类继承了Event. Event中的枚举,定义了事件的类型: enum class Type { TOUCH, //触摸 KEYBOARD, //键盘 ...

  7. 基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装

    最近,物联网的概念比较热门,一大批厂商抢着占领物联网的高低,包括有华为物联网.阿里云物联网.腾讯物联网.AWS物联网等等,无法一一列举,一般物联网包含设备侧开发.平台侧开发.应用侧开发,三个部分构成了 ...

  8. pytest7-多个fixtures执行顺序

    举例: import pytest order = [] @pytest.fixture(scope='session') def s1(): order.append("s1") ...

  9. 2、Struts2开始深入

    一.Struts2的配置文件加载顺序 1 .进入过滤器[StrutsPrepareAndExecuteFilter]跟代码,可以看到对应的文件加载顺序 进入StrtsPrepareAndExecute ...

  10. 玩转PubSubClient MQTT库

    1.前言     在ESP8266学习系列中,博主一直使用HTTP协议.HTTP连接属于短连接,而在物联网应用中,广泛应用的却是MQTT协议.所以,本篇我们将学习Arduino平台上的MQTT实现库 ...