JSON.stringify的用法是什么?一文带你看懂
Admin 2021-09-06 群英技术资讯 1270 次浏览
JSON.stringify的用法是什么?JSON.stringify()方法就是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,小编觉得JSON.stringify()方法比较实用,因此分享给大家做个参考,感兴趣的朋友就接着看吧。
用过 json 的应该都知道,把一个对象通过 stringify 之后提交给后台是很常用的手段。但是 IE6-7 下没有 JSON 对象,所以要借助json2.js 来实现。
var data = [
{name: "悟空", sex:1, age: 30},
{name: "八戒", sex:0, age: 20},
{name: "唐僧", sex:1, age: 30}
];//JavaScript数组中包含对象
//将JavaScript对象转换为JSON格式的字符串
var str_json = JSON.stringify(data);
console.log(str_json);
//运行结果为:
//[{"name":"悟空","sex":1,"age":30},{"name":"八戒","sex":0,"age":20},{"name":"唐僧","sex":1,"age":30}]
So easy! 这个也是我们最常用的方式
比如说,我们的数据非常复杂,还有类似头像,昵称,个人签名之类的信息。可是我保存在本地,只需要用户名和性别,如果操作呢?我们可以通过提供的第二参数搞定,遍历数据重新提取下即可。
a.传统方式提取数据思路
var data = [
{name: "悟空", sex:1, age: 30},
{name: "八戒", sex:0, age: 20},
{name: "唐僧", sex:1, age: 30}
];
//传统方式提取数据
var new_data = [];
for (var i=0, new_data=[]; i<data.length; i++) {
//构建行的数组
new_data.push({
name: data[i].name,
sex: data[i].age
});
}
var str_json = JSON.stringify(new_data);
console.log(str_json);
b.使用stringify的第二参数搞定提取数据
var data = [
{name: "悟空", sex:1, age: 30},
{name: "八戒", sex:0, age: 20},
{name: "唐僧", sex:1, age: 30}
];
var str_json = JSON.stringify(data,["name","age"]);
console.log(str_json);
//运行结果
//[{"name":"悟空","age":30},{"name":"八戒","age":20},{"name":"唐僧","age":30}]
第二个参数只要传入需要的keys数组,就非常轻松的就完成这种处理了。
当然如果我们要更纠结的处理,比如要把 1,0 修改为男女,那么第二个参数可以用回调函数来处理。
var data = [
{name: "悟空", sex:1, age: 30},
{name: "八戒", sex:0, age: 20},
{name: "唐僧", sex:1, age: 30}
];
var str_json = JSON.stringify(data,function (key, value) {
if(key==="sex"){
return ["男生","女生"][value];
}
return value;
});
console.log(str_json);
// [{"name":"悟空","sex":"女生","age":30},{"name":"八戒","sex":"男生","age":20},{"name":"唐僧","sex":"女生","age":30}]
非常鸡肋的一个参数,基本没有用过,看自己的情况!
var data = [
{name: "悟空", sex:1, age: 30},
{name: "八戒", sex:0, age: 20},
{name: "唐僧", sex:1, age: 30}
];
var str_json = JSON.stringify(data,["name","sex"],"\t");
console.log(str_json);
/*
[
{
"name": "悟空",
"sex": 1
},
{
"name": "八戒",
"sex": 0
},
{
"name": "唐僧",
"sex": 1
}
]
*/
不懂请查看api
developer.mozilla.org/en-US/docs/…
以上就是关于jsonstringify用法的介绍,上述实例有一定的参考价值,有需要的朋友可以了解看看,希望本文对大家有帮助,想要了解更多JavaScript的知识,大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
vue怎样实现登录切换的功能?因为一些系统的用户登录身份不同,所以需要登录切换的功能,例如师生系统的学生和教师登录,本文就给大家分享一下怎样用vue实现简单的登录切换功能。
reduce方法从数组的第一项开始,逐一遍历到最后。reduceRight从数组的最后一项开始,向前遍历第一项。接收两个参数:一个在每个项目中调用的函数和作为合并基础的初始值。
这篇文章主要介绍了Vue3使用mitt进行组件通信的步骤,帮助大家更好的理解和学习使用vue,感兴趣的朋友可以了解下
这篇文章给大家分享的是jQuery的trim函数的作用及使用。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
目录引言写法constructor特性继承题外话引言前文已提过:在 class 出现之前,JavaScript 实现继承是件麻烦事,构造函数继承有加上原型上的函数不能复用的问题;原型链继承又存在引用值属性的修改不独立的问题;组合继承又存在两次调用构造函数的问题,寄生组合继承,写起来又太麻烦了,总之,在 class 出现
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008