javascript
关于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"}');// 同上;
?
轉載于:https://www.cnblogs.com/ys6738-4271-3931/p/5433192.html
總結
以上是生活随笔為你收集整理的关于JQUery.parseJSON()函数的知识札记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj1452: [JSOI2009]
- 下一篇: Set集合设置变量自增长