JSON.stringify 函數

來源:互聯網
上載者:User

標籤:ica   ignore   bre   generated   文本   var   cer   ddb   with   

摘抄,好酷的json.stringifyJSON.stringify 函數 (JavaScript) 

將 JavaScript 值轉換為 JavaScript 物件標記法 (Json) 字串。

文法   
JSON.stringify(value [, replacer] [, space])
參數 
value

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

replacer

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

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

如果 replacer 是一個數組,則僅轉換該數組中具有索引值的成員。  成員的轉換順序與鍵在數組中的順序一樣。  當 value 參數也為數組時,將忽略 replacer 數組。  

space

可選。  向傳回值 JSON 文本添加縮排、空格和分行符號以使其更易於讀取。  

如果省略 space,則將產生傳回值文本,而沒有任何額外空格。

如果 space 是一個數字,則傳回值文本在每個層級縮排指定數目的空格。  如果 space 大於 10,則文本縮排 10 個空格。  

如果 space 是一個非Null 字元串(例如“\t”),則傳回值文本在每個層級中縮排字串中的字元。

如果 space 是長度大於 10 個字元的字串,則使用前 10 個字元。

樣本

此樣本使用 JSON.stringify 將 contact 對象轉換為 JSON 文本。  定義 memberfilter 數組以便只轉換 surname 和 phone 成員。  省略 firstname 成員。  

JavaScript 
var contact = new Object();contact.firstname = "Jesper";contact.surname = "Aaberg";contact.phone = ["555-0100", "555-0120"];var memberfilter = new Array();memberfilter[0] = "surname";memberfilter[1] = "phone";var jsonText = JSON.stringify(contact, memberfilter, "\t");document.write(jsonText);// Output:// { "surname": "Aaberg", "phone": [ "555-0100", "555-0120" ] }
樣本

此樣本將 JSON.stringify 與一個數組一起使用。   replaceToUpper 函數將數組中的每個字串轉換為大寫形式。  

JavaScript 
var continents = new Array();continents[0] = "Europe";continents[1] = "Asia";continents[2] = "Australia";continents[3] = "Antarctica";continents[4] = "North America";continents[5] = "South America";continents[6] = "Africa";var jsonText = JSON.stringify(continents, replaceToUpper);function replaceToUpper(key, value) {    return value.toString().toUpperCase();}//Output:// "EUROPE,ASIA,AUSTRALIA,ANTARCTICA,NORTH AMERICA,SOUTH AMERICA,AFRICA"
樣本

此樣本使用 toJSON 方法將字串值轉換為大寫形式。

JavaScript 
var contact = new Object();contact.firstname = "Jesper";contact.surname = "Aaberg";contact.phone = ["555-0100", "555-0120"];contact.toJSON = function(key) {    var replacement = new Object();    for (var val in this)    {        if (typeof (this[val]) === ‘string‘)            replacement[val] = this[val].toUpperCase();        else            replacement[val] = this[val]    }    return replacement;};var jsonText = JSON.stringify(contact);document.write(jsonText);// Output:{"firstname":"JESPER","surname":"AABERG","phone":["555-0100","555-0120"]}‘{"firstname":"JESPER","surname":"AABERG","phone":["555-0100","555-0120"]}‘*/
 

 

JSON.stringify 函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.