JSON序列化输出
var xiaoming = {
name: '小明',
age: 14,
gender: true,
height: 1.65,
grade: null,
'middle-school': '\"W3C\" Middle School',
skills: ['JavaScript', 'Java', 'Python', 'Lisp']
};
stringify()用于从一个对象解析出字符串
alert(JSON.stringify(xiaoming, '/n', ' ')); //换行,原样输出JSON,如果不加stringify()做处理会解析不出这个数据,处理结果为undefined
alert(JSON.stringify(xiaoming, ['height','age'], ' ')); //第二个参数可以选填 只显示选中的数据,其他数据不显示
function convert(key, value) {
if (typeof value === 'string') {
return value.toUpperCase(); //字符串的转换为大写
}
return value;
}
console.log(JSON.stringify(xiaoming, convert, ' '));
可以直接用浏览器console控制台,把代码复制进去看执行结果,这个结果是转换大写
精确控制如何序列化
//如果我们还想要精确控制如何序列化小明,可以给xiaoming定义一个toJSON()的方法,直接返回JSON应该序列化的数据
var xiaoming = {
name: '小明',
age: 14,
gender: true,
height: 1.65,
grade: null,
'middle-school': '\"W3C\" Middle School',
skills: ['JavaScript', 'Java', 'Python', 'Lisp'],
toJSON: function(){ //这是字面量的写法 其他就用正常的函数写即可, function toJSON(){return }
return{
'姓名':'小明',
'年龄':14
}
}
};
console.log(JSON.stringify(xiaoming));
反序列化(json解析)
console.log(JSON.parse('{"name":"小明","age":14}'));
var jsn = JSON.parse('{"name":"小明","age":14}', function (key, value) {
if(key === 'name') {
return value + '同学';
}
return value;
});
console.log(jsn);
扩展一下stringif 加入三个参数则会帮你自动展开数组
JSON.stringify(xx, null, 2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示