麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

詳解JavaScript中js對象與JSON格式字符串的相互轉換

2019-11-19 17:35:14
字體:
來源:轉載
供稿:網友

首先我們來看一下js中JSON格式的字符串

var JSONStr1 = "{/"name/" : /"張三/"}";

注意以下的寫法不是js中JSON格式的字符串,它只是一個js的字符串。

var JSONStr2 = "{'name' : '張三'}";

我們看JSON語法中對于字符串的定義:是由雙引號包圍的任意數量Unicode字符的集合,使用反斜線轉義。一個字符(character)即一個單獨的字符串(character string)。

下面我們來看一下在js中怎么把JSON格式的字符串轉換成一個JS對象。(

var jsObj3 = eval("(" + JSONStr1 + ")");var jsObj4 = JSON.parse(JSONStr1);

推薦使用第二種方式具體原因請參看:http://www.json.org.cn/resource/json-in-javascript.htm

此外提一句使用這兩種方式轉換后的js對象,應該是“一個符合JSON數據格式的js對象”,也就是說它的屬性是帶著引號的,這只是我的一種猜測,因為如果JSON格式的字符串如下表示:

var JSONStr1 = "{/"f[name]/" : /"張三/"}";

那么轉換后的JS對象的屬性必定要加上引號,因為js對象的屬性不加引號只能使用字母,數字,下劃線和$符號表示,使用其它符號屬性就要加上引號了,所以說JS對象字面量表示法中屬性加上引號是不會錯的。另外如果JSON格式的字符串如上所示,那么轉換后的js對象對f[name]取值就不能使用 jsObj4.f[name] 要用 jsObj4['f[name]'] ,因為有特殊字符,這點要注意了。對于我的猜測,讀者要有異議,可以提給我。

我們再來看看在js中js對象與JSON格式字符串的轉換。下面我準備了幾組js對象加以說明:

<input type="button" value="測試按鈕1" onclick="testJson();"/><script type="text/javascript">  //(1) 這是一個js對象  var jsObj1 = {    name : "張三"  }  //(2)這是一個內部帶有方法js對象。  var jsObj2 = {    name : "張三",    func : function(){      alert("hello");    }  }  //(3)這是一個符合JSON數據格式的js對象  var jsonObj = {    "name" : "張三",    "age" : 10,    "remark" : {"high" :170,"address" : "beijingshi"}  }  // js數組對象  var jsArray = [    {name : "張三"},    {"age" : 10}  ]  function testJson(){    var JSONstr1 = JSON.stringify(jsObj1);    var JSONstr2 = JSON.stringify(jsObj2);    var JSONstr3 = JSON.stringify(jsonObj);    var JSONstr4 = JSON.stringify(jsArray);    alert(JSONstr1);    alert(JSONstr2);    alert(JSONstr3);    alert(JSONstr4);  }

看一下彈框的內容:

               (1)                                              (2)                                      

                 

                      (3)                                                                       (4)

 

其中 (1)、(3)、(4)的執行結果說明,JSON解析器的stringify()函數對于js對象是fou符合JSON格式是不加限定,都可以把js對象轉換成JSON格式字符串。

(2)的執行結果說明,js對象中如果沒有JSON表示的值(比如函數和undefined)將會被排除。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 美国人成人在线视频 | 黄色片网站在线免费观看 | 久久资源总站 | 国产一级aa大片毛片 | 免费黄色在线 | 激情影院在线观看 | 羞羞视频.www在线观看 | 青草久久av | 99在线啪| 天堂成人国产精品一区 | 国产精品久久久久久模特 | 精品国产一区二区三区免费 | 久久tv免费国产高清 | 天天躁狠狠躁夜躁2020挡不住 | 国内精品久久久久久久星辰影视 | 久久综合福利 | 久久久久久久九九九九 | 91九色蝌蚪国产 | 亚洲国产美女视频 | 午夜视频在线观看91 | 又黄又爽免费无遮挡在线观看 | 成年人国产视频 | 在线播放av片 | 精品一区二区三区免费视频 | 好吊色欧美一区二区三区四区 | 免费国产一区二区视频 | 国产一国产一级毛片视频 | 国产在线欧美日韩 | 一区二区三区日本在线观看 | 青草av.久久免费一区 | 国产99久久精品一区二区 | 国产精品刺激对白麻豆99 | 一级α片免费看刺激高潮视频 | 免费国产之a视频 | 亚洲黑人在线观看 | 一级黄色性感片 | 久久久国产精品成人免费 | 久久精品欧美一区二区三区不卡 | 精品成人免费一区二区在线播放 | 91精品国产乱码久久久久久久久 | 国产精品久久久久久婷婷天堂 |