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”}?
P.S。:我读了Convert Array to Object主题
我对函数的这种方式感兴趣
答案 0 :(得分:2)
如果有人abused arrays like that,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"}
答案 1 :(得分:1)
您不应该使用数组来表示:
请改为:
var obj = {first:"val1",second:"val2"};
直接定义对象。字符串化和解析不是必需的