91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

长岛县| 合水县| 瓮安县| 湖口县| 偃师市| 兴山县| 张家川| 澄迈县| 泗阳县| 辽宁省| 上林县| 榕江县| 麻江县| 林西县| 太仓市| 洪泽县| 福安市| 仙游县| 大兴区| 安顺市| 景谷| 湘乡市| 五原县| 宁乡县| 元朗区| 闽清县| 辉县市| 三江| 孟村| 玉龙| 敖汉旗| 太仓市| 兴和县| 将乐县| 合肥市| 通辽市| 五家渠市| 讷河市| 盱眙县| 西乌珠穆沁旗| 庆元县|