欧美性猛交xxx嘿人猛交_又色又爽又高潮免费观看_精品国产一区二区三区久久影院_青娱乐极品视觉盛宴国产视频

技術頻道導航
HTML/CSS
.NET技術
IIS技術
PHP技術
Js/JQuery
Photoshop
Fireworks
服務器技術
操作系統
網站運營

贊助商

分類目錄

贊助商

最新文章

搜索

用JSON.stringify()轉換字符串時加過濾函數只保留數值項

作者:admin    時間:2022-3-30 19:23:16    瀏覽:

JSON.stringify()轉換字符串時,我們可以加一個過濾函數,最終返回的結果只保留數值項,或某些特定內容的項。

這個功能非常好用,因為我們有時并不需要所有的字符串結果,我們更想直接得到我們想要的內容。

這就是使用了 replacer 方法。

用JSON.stringify()轉換字符串時加過濾函數只保留數值項

例子(function)

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}

從這個結果,我們成功只保留了我們想要的內容項,把不需要的項移除了。

replacer參數

replacer 參數可以是一個函數或者一個數組。作為函數,它有兩個參數,鍵(key)和值(value),它們都會被序列化。

在開始時, replacer 函數會被傳入一個空字符串作為 key 值,代表著要被 stringify 的這個對象。隨后每個對象或數組上的屬性會被依次傳入。

函數應當返回JSON字符串中的value, 如下所示:

  • 如果返回一個 Number,轉換成相應的字符串作為屬性值被添加入 JSON 字符串。
  • 如果返回一個 String,該字符串作為屬性值被添加入 JSON 字符串。
  • 如果返回一個 Boolean, "true" 或者 "false" 作為屬性值被添加入 JSON 字符串。
  • 如果返回任何其他對象,該對象遞歸地序列化成 JSON 字符串,對每個屬性調用 replacer 方法。除非該對象是一個函數,這種情況將不會被序列化成 JSON 字符串。
  • 如果返回 undefined,該屬性值不會在 JSON 字符串中輸出。

注意:不能用 replacer 方法,從數組中移除值(values),如若返回 undefined 或者一個函數,將會被 null 取代。

例子(array)

如果 replacer 是一個數組,數組的值代表將被序列化成 JSON 字符串的屬性名。

JSON.stringify(foo, ['week', 'month']);
// '{"week":45,"month":7}', 只保留 “week” 和 “month” 屬性值。

您可能對以下文章也感興趣

標簽: JSON  JSON.stringify  
x