JSON.stringify的用法是什么?一文带你看懂
Admin 2021-09-06 群英技术资讯 1128 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章我们来了解jQuery中元素增加属性值的方法,给元素增加属性值是JavaScript学习中比较基础的内容,在jQuery中可以利用attr()方法来实现,下面我们来详细的了解看看怎样做,有需要的朋友可以参考。
本文主要介绍了element 穿梭框性能优化,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要是介绍JavaScript错误捕获的内容,下文有介绍基本使用与逻辑、JavaScript错误捕获特性、错误对象等等内容,对大家学习和理解JavaScript错误捕获有一定的帮助,那么接下来就跟随小编来学习一下吧。
js中的循环方法有哪些?关于在JavaScript 中的遍历循环的方法很多,下面给大家分享的是for循环、for...in循环、for...of循环、foreach(...)、some(...)、every(...)这六种循环,感兴趣的朋友可以参考学习。
这篇文章给大家分享的是JavaScript中escape函数的相关内容。在javascript中,escape()方法用于对字符串进行编码,小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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备09006778号 域名注册商资质 粤 D3.1-20240008