JavaScript JSON stringify() 方法
JavaScript JSON stringify() 方法
实例
字符串化 JavaScript 对象:
var obj = { "name":"Bill", "age":19, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>从 JavaScript 对象创建 JSON 字符串</h1>
<p id="demo"></p>
<script>
var obj = { "name":"Bill", "age":19, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
页面下方有更多 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;
}
});
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>使用 <em>replacer</em> 函数</h1>
<p>大写 "city" 的值:</p>
<p id="demo"></p>
<script>
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;
}
});
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
示例代码:
使用 space 参数:
/* 为每个空格插入 10 个空格字符:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, 10);
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>使用 <em>space</em> 参数</h1>
<p>为每个空格插入 10 个空格字符:</p>
<pre id="demo"></pre>
<script>
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, 10);
document.getElementById("demo").innerHTML = text;
console.log(text);
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
示例代码:
使用 space 参数:
/* 为每个空格插入单词 SPACE:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, "SPACE");
完整实例:
<!DOCTYPE html>
<html>
<body>
<h1>使用 <em>space</em> 参数</h1>
<p>为每个空格插入单词 “SPACE”:</p>
<pre id="demo"></pre>
<script>
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, "SPACE");
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
相关页面
JSON 教程:JSON 简介