最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript中JSON.stringify方法

 更新時間:2023年09月06日 08:29:18   作者:編程三昧  
JSON 對象是我們經常使用的一種數據存儲對象,它的適用范圍非常廣,JSON.stringify 方法可以幫我們把一個對象或數組轉換成一個 JSON字符串,本文我們給大家詳細介紹一下JavaScript中JSON.stringify方法,需要的朋友可以參考下

JSON 對象是我們經常使用的一種數據存儲對象,它的適用范圍非常廣。

而 JSON.stringify 方法的使用頻率也極高,合理使用 stringify 方法,我們可以實現(xiàn)很多簡單需求:

  • 要實現(xiàn)對象的深拷貝時,我們可以用 JSON 對象的 JSON.stringify 和 JSON.parse 來拷貝一個完全一樣的對象,而不會對原對象產生任何引用關系。
  • 在使用 localStorage 時,也會用到它,因為 localStorage 只能存儲字符串格式的內容,所以,我們在存之前,將數值轉換成 JSON字符串。

JSON.stringify

JSON.stringify 方法可以幫我們把一個對象或數組轉換成一個 JSON字符串。

我們通常只會用到它的第一個參數,其實它還有另外兩個參數,可以讓它實現(xiàn)一些非常好用的功能。

語法:

JSON.stringify(value[, replacer [, space]])

參數:

  • value:將要被序列化的變量的值
  • replacer:替代器。可以是函數或者是數組:
    • 如果是一個函數,則value 每個屬性都要經過這個函數的處理,該函數的返回值就是最后被序列化后的值。
    • 如果是一個數組,則要求該數組的元素是字符串,且這些元素會被當做value 的鍵(key)進行匹配,最后序列化的結果,是只包含該數組每個元素為key 的值。
  • space:指定輸出數值的代碼縮進,美化格式之用,可以是數字或者字符串:
    • 如果是數字(最大為10)的話,代表每行代碼的縮進是多少個空格。
    • 如果是字符串的話,該字符串(最多前十個字符)將作顯示在每行代碼之前。

這時候,你應該知道了。我們可以用 JSON.stringify 來做序列化時的過濾,相當于我們可以自定義JSON.stringify 的解析邏輯。

使用函數過濾并序列化對象

function replacer(key, value) {
    if (typeof value === "string") {
        return undefined;
    }
    return value;
}
var foo = {
    foundation: "Mozilla",
    model: "box",
    week: 45,
    transport: "car",
    month: 7
};
var jsonString = JSON.stringify(foo, replacer); // {"week":45,"month":7}

使用數組過濾并序列化對象

const user = {
    name: "zollero",
    nick: "z",
    skills: ["JavaScript", "CSS", "HTML5"]
};
JSON.stringify(user, ["name", "skills"], 2); 
// "{//   "name": "zollero",//   "skills": [//     "JavaScript",//     "CSS",//     "HTML5"http://   ]// }"

還有一個有意思的東西,是對象的toJSON 屬性。

如果一個對象有toJSON 屬性,當它被序列化的時候,不會對該對象進行序列化,而是將它的toJSON 方法的返回值進行序列化。

看下面的例子:

var obj = {
    foo: "foo",
    toJSON: function () {
        return "bar";
    }
};
JSON.stringify(obj); 
// '"bar"'JSON.stringify({x: obj}); // '{"x":"bar"}'

總結

stringify 方法的重點和難點在于第二和第三個參數的靈活使用上,需要多加練習。

到此這篇關于詳解JavaScript中JSON.stringify方法的文章就介紹到這了,更多相關JavaScript JSON.stringify方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于JavaScript實現(xiàn)div層跟隨滾動條滑動

    基于JavaScript實現(xiàn)div層跟隨滾動條滑動

    項目需求是這樣的:在一個頁面放2個懸浮框,懸浮框隨頁面的上下滾動有上下波動的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實現(xiàn)div層跟隨滾動條滑動的相關資料,對js div跟隨滾動條滑動相關知識感興趣的朋友一起學習吧
    2016-01-01
  • JS中改變this指向的方法(call和apply、bind)

    JS中改變this指向的方法(call和apply、bind)

    this是javascript的一個關鍵字,隨著函數使用場合不同,this的值會發(fā)生變化。但是總有一個原則,那就是this指的是調用函數的那個對象,通過本文給大家介紹JS中改變this指向的方法(call和apply、bind),需要的朋友參考下
    2016-03-03
  • ionic中列表項增加和刪除的實現(xiàn)方法

    ionic中列表項增加和刪除的實現(xiàn)方法

    在項目中遇到表單似的頁面,需要進行增加一行和減少一行的操作,基于ionic怎么實現(xiàn)呢?下面小編給大家分享ionic中列表項增加和刪除的實現(xiàn)方法,一起看看吧
    2017-01-01
  • 關于javascript解決閉包漏洞的一個問題詳解

    關于javascript解決閉包漏洞的一個問題詳解

    閉包在JavaScript高級程序設計(第3版)中是這樣描述:閉包是指有權訪問另一個函數作用域中的變量的函數,下面這篇文章主要給大家介紹了關于javascript解決閉包漏洞的一個問題的相關資料,需要的朋友可以參考下
    2022-11-11
  • JavaScript基于DOM操作實現(xiàn)簡單的數學運算功能示例

    JavaScript基于DOM操作實現(xiàn)簡單的數學運算功能示例

    這篇文章主要介紹了JavaScript基于DOM操作實現(xiàn)簡單的數學運算功能,涉及javascript節(jié)點操作、元素遍歷及數學運算相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • javascript創(chuàng)建含數字字母的隨機字符串方法總結

    javascript創(chuàng)建含數字字母的隨機字符串方法總結

    如果想創(chuàng)建一個含有數字、字母(大小寫)或者符號的字符串,比如從[a-zA-Z0-9]集合中中創(chuàng)建一個隨機的字符串,長度為5.有沒有什么比較好的代碼呢?本文提供了幾種方法,包括自動改變字符集合。一起來學習下。
    2016-08-08
  • 瀑布流布局代碼一例

    瀑布流布局代碼一例

    提起瀑布流布局想必大家并不陌生吧,其實呢?原理也就那樣,下面有個小例子,與大家分享
    2014-04-04
  • JS ES6多行字符串與連接字符串的表示方法

    JS ES6多行字符串與連接字符串的表示方法

    這篇文章主要介紹了JS ES6多行字符串與連接字符串的表示方法,結合具體實例形式對比分析了ES6中的多行字符串與連接字符串的表示方法與相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • 微信小程序實現(xiàn)九宮格效果

    微信小程序實現(xiàn)九宮格效果

    這篇文章主要為大家詳細介紹了微信小程序實現(xiàn)九宮格效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • JavaScript?canvas?實現(xiàn)用代碼畫畫

    JavaScript?canvas?實現(xiàn)用代碼畫畫

    這篇文章主要為大家介紹了JavaScript?canvas?實現(xiàn)用代碼畫畫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11

最新評論

峨山| 鸡泽县| 嘉祥县| 噶尔县| 石河子市| 县级市| 商都县| 古田县| 长顺县| 敦煌市| 赤峰市| 台南市| 武定县| 深州市| 泊头市| 香河县| 扎囊县| 大渡口区| 赞皇县| 安顺市| 慈利县| 太康县| 通州市| 阜南县| 合阳县| 江安县| 棋牌| 永川市| 科尔| 叙永县| 社会| 锡林浩特市| 清涧县| 德保县| 基隆市| 吴桥县| 和林格尔县| 买车| 阿拉善右旗| 金川县| 顺平县|