亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSON stringify的原理和使用方法

發布時間:2020-10-26 14:42:53 來源:億速云 閱讀:298 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關JSON stringify的原理和使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

JSON.stringify() 方法用于將 JavaScript 值轉換為 JSON 字符串。

語法

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

參數說明:

value:

必需, 要轉換的 JavaScript 值(通常為對象或數組)。

replacer:

可選。用于轉換結果的函數或數組。

如果 replacer 為函數,則 JSON.stringify 將調用該函數,并傳入每個成員的鍵和值。使用返回值而不是原始值。如果此函數返回 undefined,則排除成員。根對象的鍵是一個空字符串:""。

如果 replacer 是一個數組,則僅轉換該數組中具有鍵值的成員。成員的轉換順序與鍵在數組中的順序一樣。

space:

可選,文本添加縮進、空格和換行符,如果 space 是一個數字,則返回值文本在每個級別縮進指定數目的空格,如果 space 大于 10,則文本縮進 10 個空格。space 也可以使用非數字,如:\t。

返回值:
返回包含 JSON 文本的字符串。

實例

var str = {"name":"菜鳥教程", "site":"http://www.runoob.com"}
str_pretty1 = JSON.stringify(str)
document.write( "只有一個參數情況:" );
document.write( "<br>" );
document.write("<pre>" + str_pretty1 + "</pre>" );
 
document.write( "<br>" );
str_pretty2 = JSON.stringify(str, null, 4) //使用四個空格縮進
document.write( "使用參數情況:" );
document.write( "<br>" );
document.write("<pre>" + str_pretty2 + "</pre>" ); // pre 用于格式化輸出

但是 IE6-7 下沒有 JSON 對象,所以要借助json2.js來實現。

今天我們來簡單介紹下stringify方法的一些正確使用姿勢吧。

當然,讓高手們賤笑了,本文只是分享一些方法給新手朋友們。

var data = [
  {name: "王尼瑪", sex:1, age: 30},
  {name: "王尼美", sex:0, age: 20},
  {name: "王大錘", sex:1, age: 30}
];
var str_json = JSON.stringify(data);
console.log(str_json);

這個是我們日常用法,非常簡單,對吧。

比如說,我們的數據非常復雜,還有類似頭像,昵稱,個人簽名之類的信息。
可是我保存在本地,只需要用戶名,和性別,腫么破呢?
也許你會說 so easy, 遍歷數據重新提取下即可。
例如:

var data = [
  {name: "王尼瑪", sex:1, age: 30},
  {name: "王尼美", sex:0, age: 20},
  {name: "王大錘", sex:1, age: 30}
];
for (var i=0, new_data=[]; i<data.length; i++) {
  new_data.push({
    name: data[i].name,
    sex: data[i].sex
  });
}
var str_json = JSON.stringify(new_data);
console.log(str_json);

確實分分鐘搞定。

其實我們只需要用stringify第二個參數即可簡單處理這種問題。

var data = [
  {name: "王尼瑪", sex:1, age: 30},
  {name: "王尼美", sex:0, age: 20},
  {name: "王大錘", sex:1, age: 30}
];
var str_json = JSON.stringify(data, ["name", "sex"]);
console.log(str_json);

第二個參數只要傳入需要的keys數組,就非常輕松的就完成這種處理了。

當然如果我們要更糾結的處理,比如要把 1,0 修改為男女,那么第二個參數可以用回調函數來處理。

var data = [
  {name: "王尼瑪", sex:1, age: 30},
  {name: "王尼美", sex:0, age: 20},
  {name: "王大錘", sex:1, age: 30}
];
var str_json = JSON.stringify(data, function (k, v) {
  if (k === "sex") {
    return ["女", "男"][v];
  }
  return v;
});
console.log(str_json);

第二個參數如此強悍,為我們省去了不少麻煩。

還有第三個參數,用于格式化字符串用的。

var data = [
  {name: "王尼瑪", sex:1, age: 30},
  {name: "王尼美", sex:0, age: 20},
  {name: "王大錘", sex:1, age: 30}
];
var str_json = JSON.stringify(data, null, "\t");
console.log(str_json);
str_json = JSON.stringify(data, ["name", "sex"], "\t");
console.log(str_json);

看完上述內容,你們對JSON stringify的原理和使用方法有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澄江县| 奇台县| 巨鹿县| 大安市| 旌德县| 加查县| 利津县| 九龙城区| 武夷山市| 潍坊市| 遂溪县| 英吉沙县| 瑞金市| 康定县| 竹北市| 灵寿县| 绥中县| 肥东县| 泰和县| 房产| 天气| 平南县| 石渠县| 溆浦县| 朝阳市| 古浪县| 云浮市| 晋中市| 囊谦县| 中方县| 新竹市| 青冈县| 墨江| 云和县| 儋州市| 杭锦后旗| 习水县| 河西区| 阿荣旗| 龙海市| 巧家县|