標籤: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 函數