小码哥的IT人生

JavaScript JSON stringify() 方法

JavaScript基础 2022-06-08 10:56:28小码哥的IT人生shichen

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

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024