var arr=[];
arr['first']='val1';
arr['second']='val2';
var json=JSON.stringify(arr);
var obj=JSON.parse(json); //obj is array
我可以返回对象 {"first":"val1","second":"val2"} 吗?
PS:我阅读了将数组转换为对象的主题
我对这种功能感兴趣
var arr=[];
arr['first']='val1';
arr['second']='val2';
var json=JSON.stringify(arr);
var obj=JSON.parse(json); //obj is array
我可以返回对象 {"first":"val1","second":"val2"} 吗?
PS:我阅读了将数组转换为对象的主题
我对这种功能感兴趣
如果有人滥用了这样的数组,JSON 对你没有帮助。它只会序列化 Array 对象的数字索引,没有别的。手动复制属性:
var obj = {};
for (var prop in arr)
if (arr.hasOwnProperty(prop)) // don't copy enumerables from Array.prototype
obj[prop] = arr[prop];
console.log(obj); // {"first":"val1","second":"val2"}
您不应该使用数组来表示:
改为这样做:
var obj = {first:"val1",second:"val2"};
直接定义对象即可。不需要字符串化和解析