json对象与字符串的相互转换,数组和字符串的转换
1.json对象转换为字符串
JSON.stringify(value [, replacer] [, space])
var student = new Object();
student.id = "001";
student.name = "程陈";
student.age = "18";
vue json字符串转数组var str = JSON.stringify(student);
//{"id":"001","name":"程陈","age":"18"}
var str1 = JSON.stringify(student,["id"],"ok");
//{
/
/ok"id": "001"
//}
var data = [
{ name: "⼩红", sex: 1, age: 10 },
{ name: "⼩明", sex: 0, age: 10 },
{ name: "⼩华", sex: 1, age: 30 }
];
var str_json = JSON.stringify(data, function (k, v) {
if (k === "sex") {
return ["⼥", "男"][v];
}
return v;
});
//[{"name":"⼩红","sex":"男","age":10},{"name":"⼩明","sex":"⼥","age":10},{"name":"⼩华","sex":"男","age":30}]
replacer : 使⽤来过滤的,可以出来数组和函数
情况⼀:replacer为数组时,通过后⾯的实验可以知道,它是和第⼀个参数value有关系的。⼀般来说,系列化后的结果是通过键值对来进⾏表⽰的。所以,如果此时第⼆个参数的值在第⼀个存在,那么就以第⼆个参数的值做key,第⼀个参数的值为value进⾏表⽰,如果不存在,就忽略。
情况⼆:replacer为⽅法时,那很简单,就是说把系列化后的每⼀个对象(记住是每⼀个)传进⽅法⾥⾯进⾏处理。
space:就是⽤什么来做分隔符的。
1)如果省略的话,那么显⽰出来的值就没有分隔符,直接输出来。
2)如果是⼀个数字的话,那么它就定义缩进⼏个字符,当然如果⼤于10 ,则默认为10,因为最⼤值为10。
3)如果是⼀些转义字符,⽐如“\t”,表⽰回车,那么它每⾏⼀个回车。
4)如果仅仅是字符串,就在每⾏输出值的时候把这些字符串附加上去。当然,最⼤长度也是10个字符。
2.字符串转换为json 对象
var str2 = '{"abc":"123","bcd":"234"}';//每个属性都要⽤双引号括起来;不然会有异常
var obj = JSON.parse(str2);
//Object {abc: "123", bcd: "234"}
3.数组转换为字符串
var arr = ["aaa","bbb","ccc","ddd"];
var str4 = arr.join(",");
//aaa,bbb,ccc,ddd
4.字符串转换为数组
var str5 = "123,234,345,456"; var arr1 = str5.split(","); console.log(arr1);
//["123", "234", "345", "456"]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论