1.JSON.parse(“要转换的数组”) 。
2.JSON.stringify(“要转化的数组”)。
3.首先,两个方法的用法是有差别的。
①.JSON.stringify是从一个对象中解析出字符串。
②.JSON.parse是从一个字符串中解析出json(键值对)。
4.所以在使用的时候如果参数不对应,就不能正确转换。
一.JSON.parse()【从一个字符串中解析出json对象】
例子:
1.//定义一个字符串,var data='{"name":"goatling"}'。
2.//解析对象,JSON.parse(data)。
3.结果是:
name:"goatling"
二.JSON.stringify()【从一个对象中解析出字符串】
1.var data={name:'goatling'}
2.JSON.stringify(data)
3.结果是:
'{"name":"goatling"}'
三.获取返回值
if(typeof data != "object") {
data = JSON.parse(data);
} else {
data = JSON.stringify(data);
}
取键值对形式
var formArr = [
{name: "Name", value: "111"},
{name: "Price", value: "2"}
];
var obj={ };
//map循环方式
formArr.map(function (e, item) {
obj[e.name] = e.value;
});
//$.each循环方式
$.each(formArr, function (item,e) {
obj[e.name] = e.value;
})
//for in 循环方式
for (var item in formArr){
obj[formArr[item].name] = formArr[item].value;
};
结果打印: console.log(obj)//{Name: "111", Price: "2"}
var list = {};
var arr = ["123","456"];
for (var key in arr) {
list[key] = arr[key];
}
console.log(list);//{0: "123", 1: "456"}
//es6 forEach方式
var a = ['a','b','c']
var obj = {}
a.forEach((item,index)=>{obj[index] = item})
console.log(obj)//{0: "a", 1: "b", 2: "c"}
对象赋值,多对象合并成一个对象
//assign方式;
var data={};
Object.assign(data,[1,2,3])
或者 {...['a','b','c']}
console.log(data)//{0: 1, 1: 2, 2: 3}
console.log({...['a','b','c']})//{0: "a", 1: "b", 2: "c"}
JavaScript Demo:Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
可组合多个对象;
const object1 = {
a: 1,
b: 2,
c: 3
};
const object2 = Object.assign({c: 4, d: 5}, object1);
console.log(object2.c, object2.d);
// 打印输出: 3 5
语法
Object.assign(target, ...sources);