欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解JavaScript中js對象與JSON格式字符串的相互轉(zhuǎn)換

 更新時間:2017年02月14日 15:04:59   作者:吃貓的大魚  
本篇文章主要介紹了JavaScript中js對象與JSON格式字符串的相互轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

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

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

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

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

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

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

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

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

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

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

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

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

<input type="button" value="測試按鈕1" onclick="testJson();"/>

<script type="text/javascript">
  //(1) 這是一個js對象
  var jsObj1 = {
    name : "張三"
  }
  //(2)這是一個內(nèi)部帶有方法js對象。
  var jsObj2 = {
    name : "張三",
    func : function(){
      alert("hello");
    }
  }
  //(3)這是一個符合JSON數(shù)據(jù)格式的js對象
  var jsonObj = {
    "name" : "張三",
    "age" : 10,
    "remark" : {"high" :170,"address" : "beijingshi"}
  }
  // js數(shù)組對象
  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);

  }

看一下彈框的內(nèi)容:

               (1)                                              (2)                                      

                 

                      (3)                                                                      ?。?)

 

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript閉包原理與使用介紹

    JavaScript閉包原理與使用介紹

    閉包是js的一個難點也是它的一個特色,是我們必須掌握的js高級特性,下面這篇文章主要給大家介紹了關(guān)于JavaScript閉包函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • js獲取某元素的class里面的css屬性值代碼

    js獲取某元素的class里面的css屬性值代碼

    這篇文章主要介紹了js獲取某元素的class里面的css屬性值代碼,有需要的朋友可以參考一下
    2014-01-01
  • ES6的Fetch異步請求的實現(xiàn)方法

    ES6的Fetch異步請求的實現(xiàn)方法

    這篇文章主要介紹了ES6的Fetch異步請求的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • JavaScript如何借用構(gòu)造函數(shù)繼承

    JavaScript如何借用構(gòu)造函數(shù)繼承

    這篇文章主要介紹了JavaScript如何借用構(gòu)造函數(shù)繼承,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 詳解小程序設(shè)置緩存并且不覆蓋原有數(shù)據(jù)

    詳解小程序設(shè)置緩存并且不覆蓋原有數(shù)據(jù)

    這篇文章主要介紹了小程序設(shè)置緩存并且不覆蓋原有數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 自定義require函數(shù)讓瀏覽器按需加載Js文件

    自定義require函數(shù)讓瀏覽器按需加載Js文件

    可能很多人看到這個題目就會想到LABjs、RequireJS、SeaJS... 這些庫,但無奈小編沒用過這些庫,什么 AMD 、CMD 哪來那么多術(shù)語... 前端的庫太多了,要看各種亂七八糟的文檔,好難啊,還不如自己寫一個庫呢。于是就有了這文章,有需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • 小程序?qū)崿F(xiàn)日歷左右滑動效果

    小程序?qū)崿F(xiàn)日歷左右滑動效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)日歷左右滑動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JavaScript兩種axios取消請求方式小結(jié)

    JavaScript兩種axios取消請求方式小結(jié)

    本文主要介紹了JavaScript兩種axios取消請求方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • JS簡單實現(xiàn)父子窗口傳值功能示例【未使用iframe框架】

    JS簡單實現(xiàn)父子窗口傳值功能示例【未使用iframe框架】

    這篇文章主要介紹了JS簡單實現(xiàn)父子窗口傳值功能,結(jié)合具體實例形式分析了javascript實現(xiàn)不使用iframe框架進(jìn)行窗口之間簡單傳值的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • JavaScript實現(xiàn)異步獲取表單數(shù)據(jù)

    JavaScript實現(xiàn)異步獲取表單數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)異步獲取表單數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論