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 简介