
今天在写项目的时候遇到了一个问题,在我将自己获得的值存在数组里面,并且转化成json格式传给后台的时候,使用JSON.stringify转 json,一直为空值,之前从没遇到过这种情况,于是自己查了下资料,终于找到解决方法。stringify

var teacher_info = new Array("12","erin","女","12-02","中国");
var data1 = new Array("wage_no","name","","birthday","nation");
var data_arr1 = [];
for (var i=0;i<5;i++){
data_arr1[data1[i]] = teacher_info[i];
}
data_arr1 = JSON.stringify(data_arr1);
console.log(data_arr1);

以上代码打印出来的data_arr1值一直是“[]”,这样的写法是new了一个数组对象,然后给数组对象设置属性,但是数组序列化的时候只会序列化数组中的元素,会忽略对象上的属性和值。所以,直接用一个空对象来存放属性就行。代码如下:
var teacher_info = new Array("12","erin","女","12-02","中国");
var data1 = new Array("wage_no","name","","birthday","nation");
var data_arr1 = {};
for (var i=0;i<5;i++){
data_arr1[data1[i]] = teacher_info[i];
}
data_arr1 = JSON.stringify(data_arr1);
console.log(data_arr1);
这样既可解决使用JSON.stringify转 json,一直为空值的问题。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-33641-1.html
好