json数组
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>json数组</title>
<script src="js/jquery.min.js"></script>
<script>
//普通数组写法
var box = [{name: 'Linda', age: 28}, {name: 'Bob', age: 20}];
// alert(box);
//json数组写法(相比之下就是比普通的数组多两组引号)切记:键是双引号,否则会出错
var arr = [{"name":"Tony","age":20},{"name":"Jack","age":26}];
// var json = JSON.stringify(box);//转换成json字符串
// alert(json);//这里其实是有双引号的,只是我们看不到
// 在序列化 JSON 的过程中,stringify()方法还提供了第二个参数。第一个参数可以是一个
// 数组,也可以是一个函数,用于过滤结果。第二个参数则表示是否在 JSON 字符串中保留缩
// 进。
// var json = JSON.stringify(box, ['name', 'age'], 4);//输出结果是数组box所有代码原样输出,首行缩进4个字符
// 如果不需要保留缩进,则不填即可;如果不需要过滤结果,但又要保留缩进,则
// 将过滤结果的参数设置为 null。如果采用函数,可以进行复杂的过滤。
var json = JSON.stringify(arr, function (key, value) {
switch (key) {
case 'name' :
return 'Mr. ' + value;
case 'age' :
return value + '岁';
default :
return value;
}
}, 4);//4表示首行缩进:4
alert(json);
//自定义过滤数组使用 toJSON()方法,返回某组对象中的指定的值
var list=[{"name":"Linda","age":20,"height":170,toJSON:function(){
return this.name;
}},{"name":"Bob","age":20,"height":180,toJSON:function(){
return this.height;
}}];
alert("list:"+JSON.stringify(list));//都是使用JSON.stringify方法解析数组的,否则输出效果是object
JSON 字符串方法 parse()也可以接受第二个参数,这样可以在还原出 JavaScript 值
// 的时候替换成自己想要的值。注意引号的写法,否则输出会报错
var list1 = '[{"name" : "Tony","age" : 1},{"name" : "b","age" : 2}]';
var json1 = JSON.parse(list1, function (key, value) {
if (key == 'name') {
return 'Mr.' + value;
} else {
return value;
}
});
alert(json1[0].name);//输出结果:Mr.Tony,第一个下标
</script>
</head>
<body>
</body>
</html>
本文来自博客园,作者:小虾米吖~,转载请注明原文链接:https://www.cnblogs.com/LindaBlog/p/9292767.html
分类:
js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」