JSON.stringify的用法是什么?一文带你看懂
Admin 2021-09-06 群英技术资讯 1469 次浏览
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章带大家学习一下React,深入了解下React中的任务调度算法,希望对大家有所帮助!
在 React中是不存在双向数据绑定的机制的,需要我们自己对其进行实现。本文主要介绍一下React双向数据绑定,感兴趣的可以了解一下
本文主要介绍的是vue项目中怎么样追踪数据变化的内容,下文有具体的实现代码及方法,对大家学习和工作都有一定的参考价值,需要的朋友可以了解看看。
今天学习怎么生成二维码,我习惯所有请求都用ajax完成,但是今天发现jquery的ajax不支持二进制,只能搞纯文本,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
状况:本地的前端项目(uni-app)以及后台管理(vue-mongo-node)和本地mongo数据库前台项目端口是8082,后台数据接口是8081.跨域解决,直接上代码:uni-app的mainfest.json下: 红色部分代理(node设置允许跨域之后,不加这部分的代理也可以跨域请求) 可加可不加"app-plus":{/*5+App特有相关*/"splashsc
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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