JavaScript JSON stringify() 方法

实例

字符串化 JavaScript 对象:

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

亲自试一试

页面下方有更多 TIY 实例。

定义和用法

JSON.stringify() 方法将 JavaScript 对象转换为字符串。

将数据发送到 Web 服务器时,数据必须是字符串。

浏览器支持

表格中的数字注明了完全支持该方法的首个浏览器版本。

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

语法

JSON.stringify(obj, replacer, space)

参数值

参数 描述
obj 必需。要转换为字符串的值。
replacer

可选。用于转换结果的函数或数组。

如果该参数是函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;

如果该参数是数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;

如果该参数为 null 或者未提供,则对象所有的属性都会被序列化。

space

可选。字符串或数字值。指定缩进用的空白字符串,用于美化输出(pretty-print)。

如果参数是个数字,它代表有多少的空格;上限为 10。该值若小于 1,则意味着没有空格;

如果该参数为字符串(当字符串长度超过 10 个字母,取其前 10 个字母),该字符串将被作为空格;

如果该参数没有提供(或者为 null),将没有空格。

技术细节

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

更多实例

实例

使用替换函数:

/* 把 "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;
  }
});

亲自试一试

实例

使用 space 参数:

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

亲自试一试

实例

使用 space 参数:

/* 为每个空格插入单词 SPACE:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, "SPACE");

亲自试一试

相关页面

JSON 教程:JSON 简介