JSON.stringify 的使用
一、作用:这个函数的作用主要是为了序列化对象。就是把原来是对象的类型转换成字符串类型(json格式的String类型)。
二、语法:JSON.stringify(value[, replacer][, space])
value:必须要的字段。传入的对象,如数组,类等。
replacer:可选字段。两种方式,一是方法,二是数组。
情况一,传入的是数组。以第二个数组的值为key,第一个数组为value进行序列化,如果不存在就忽略。
情况二,传入的是方法。把序列化后的每一个对象传进方法里面进行处理。
space:分隔符。
1、如果省略,那显示出来的值就没有分隔符,直接输出。
2、如果是一个数字,那它就定义缩进几个字符,如果大于10,则最大值为10。
3、如果是一些转义字符,比如“\t”,表示回车,那它每行一个回车。
4、如果是字符串,那每行输出组把该字符串附加上去,最大长度也是10个字符。
三、实例:
1、只有一个参数,即只传入参数value
var text = {}; text.id = 1; text.name = "fang";
var json = JSON.stringify(text);
alert(text + " | " + json); |
结果:
2、第二个参数存在,传入的值是function时
function upperCase(key, value) { return value.toString().toUpperCase(); }
var text = new Array(); text[0] = "abc"; text[1] = "defg";
var json = JSON.stringify(text, upperCase);
alert(text + " | " + json); |
结果:
3、第二个参数存在,并且为数组
3.1、进行序列化的对象是数组,那忽略第二个参数,直接进行序列化
var text = new Array(); text[0] = "abc"; text[1] = "defg";
var text2 = new Array(); text2[0] = "1"; text2[1] = "2";
var json = JSON.stringify(text, text2);
alert(text + " | " + json); |
结果:
3.2、第一个参数不是数组对象,第二个是数组,如果第二个数组的value在第一个存在,那就以第二个的值为key,第一个值为value进行表示
var text = new Object(); text.id = 1; text.name = "fxr"; text.sex = "male";
var array = new Array(); array[0] = "id"; array[1] = "name"; array[2] = "age"; // 第一个对象中不存在该属性
var json = JSON.stringify(text, array);
alert(text + " | " + json); |
结果:array[2] = “age” 这个在第一个中找不到,就不显示。
4、第三个参数存在
4.1、参数为数字:定义缩进几个字符,最大值为10
var text = new Object(); text.id = 1; text.name = "fxr"; text.sex = "male";
var array = new Array(); array[0] = "id"; array[1] = "name"; array[2] = "age"; // 第一个对象中不存在该属性
// 缩进20个字符,但是最大值为10,缩进10个字符 var json = JSON.stringify(text, array, 20);
alert(text + " | " + json); |
结果:
4.2、参数为转义字符:比如“\t”,表示回车,那每一行一个回车
var text = new Object(); text.id = 1; text.name = "fxr"; text.sex = "male";
var array = new Array(); array[0] = "id"; array[1] = "name"; array[2] = "age"; // 第一个对象中不存在该属性
// 换行 var json = JSON.stringify(text, array, "\t");
alert(text + " | " + json); |
结果:
4.3、参数为字符串,则附加上去,最大长度为10个字符
var text = new Object(); text.id = 1; text.name = "fxr"; text.sex = "male";
var array = new Array(); array[0] = "id"; array[1] = "name"; array[2] = "age"; // 第一个对象中不存在该属性
// 字符串 var json = JSON.stringify(text, array, "添加");
alert(text + " | " + json); |
结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南