日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript --- JSON字符串化

發布時間:2023/12/10 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript --- JSON字符串化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工具函數JSON.stringify()將JSON對象序列化為字符串時也用到了ToString.
看下面的代碼:

console.log(JSON.stringify(42)); console.log(JSON.stringify("42")); console.log(JSON.stringify(null)); console.log(JSON.stringify(true));


所有安全的JSON值都可以使用JSON.stringify字符串化.
安全的JSON值: 能夠呈現為有效JSON格式的值

不安全的JSON值:

// undefined、function、symbol // 遇到以上類型時會自動忽略(undefined) console.log(JSON.stringify(undefined)); console.log(JSON.stringify(function(){}));console.log(JSON.stringify([1, undefined, function(){},4])); console.log(JSON.stringify({a:2, b:function(){}}));


如果對象中定義了toJSON方法,JSON字符串化時會首先調用該方法,然后用它的返回值來進行序列化.

// 未定義toJSON,一個循環引用 var o ={}; var a = {b: 42,c: o,d: function(){} }; o.e = a; JSON.stringify(a);

// 自定義toJSON,返回一個安全的JSON值 var o = {}; var a = {b: 42,c: o,d: function(){} }; a.toJSON = function(){return { b: this.b}; }; console.log(JSON.stringify(a));


可以使用toJSON方法來返回一個相對安全的值.

// toJSON()應該"返回一個能夠唄字符串化的安全的JSON值",而不是"返回一個JSON字符串" var a ={val: [1,2,3],toJSON: function() {return this.val.slice(1)} }; var b = {val:[1,2,3],toJSON: function() {return "[" + this.val.slice(1).join() + "]";} }; console.log(JSON.stringify(a)); console.log(JSON.stringify(b)); // 可以看出第二個函數,是對toJSON返回的字符串做字符串化,而非數組本身.


我們還可以向JSON.stringify()傳遞一個可選參數replacer用來指定對象序列化過程中哪些屬性應該被處理

// replacer參數 var a = {b: 42,c: "42",d: [1,2,3] }; console.log(JSON.stringify(a, ["b", "c"])); // 需要key為b 或 c的 console.log(JSON.stringify(a, function(k,v){if(k !== "c") return v; }));


space(可選參數)

// JSON.stringify還有一個可選參數space,用來指定輸出的縮進格式 var a ={b: 42,c: "42",d: [1,2,3] }; console.log(JSON.stringify(a, null, 1)); console.log(JSON.stringify(a, null, 3)); console.log(JSON.stringify(a, null, '--'));


參考《你不知道的JavaScript》(中卷)P48~P52

總結

以上是生活随笔為你收集整理的javascript --- JSON字符串化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。