JavaScript JSON stringify() 方法

定義和用法

JSON.stringify() 方法將 JavaScript 對象轉換為字符串。

將數據發送到 Web 服務器時,數據必須是字符串。

實例

例子 1

字符串化 JavaScript 對象:

var obj = { "name":"Bill", "age":19, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

親自試一試

例子 2

使用替換函數:

/* 把 "city" 值替換為大寫:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, function (key, value) {
  if (key == "city") {
    return value.toUpperCase();
  } else {
    return value;
  }
});

親自試一試

例子 3

使用 space 參數:

/* 為每個空格插入 10 個空格字符:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, 10);

親自試一試

例子 4

使用 space 參數:

/* 為每個空格插入單詞 SPACE:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, "SPACE");

親自試一試

語法

JSON.stringify(obj, replacer, space)

參數值

參數 描述
obj 必需。要轉換為字符串的值。
replacer

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

如果該參數是函數,則在序列化過程中,被序列化的值的每個屬性都會經過該函數的轉換和處理;

如果該參數是數組,則只有包含在這個數組中的屬性名才會被序列化到最終的 JSON 字符串中;

如果該參數為 null 或者未提供,則對象所有的屬性都會被序列化。

space

可選。字符串或數字值。指定縮進用的空白字符串,用于美化輸出(pretty-print)。

如果參數是個數字,它代表有多少的空格;上限為 10。該值若小于 1,則意味著沒有空格;

如果該參數為字符串(當字符串長度超過 10 個字母,取其前 10 個字母),該字符串將被作為空格;

如果該參數沒有提供(或者為 null),將沒有空格。

技術細節

返回值: A String
JavaScript 版本: ECMAScript 5

瀏覽器支持

表格中的數字注明了完全支持該方法的首個瀏覽器版本。

方法 Chrome IE Firefox Safari Opera
stringify() 4.0 8.0 3.5 4.0 11.5

相關頁面

JSON 教程:JSON 簡介