关于JQUery.parseJSON()函数的知识札记

时间:2022-01-04 03:46:36

     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"}');// 同上;