javascript - 通过 JSON.parse 将数组转换为对象

标签 javascript jquery

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"} 吗?

附:我读过Convert Array to Object主题

我对这种功能很感兴趣

最佳答案

如果有人有 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"}

关于javascript - 通过 JSON.parse 将数组转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18863479/

相关文章:

java - 在 Eclipse 中将 JavaScript 项目与 Java 项目链接起来

jquery - 学习 jQuery 的 CSS 选择器

javascript - 如何获取JS文件中的资源(.resx)字符串

javascript - 将段落的 innerHTML 更改为返回 NaN 的变量

javascript - 保存后保持选中复选框

javascript - 查找网页上唯一启用的按钮

javascript - jQuery 排序导致 iOS Safari 卡住

Javascript 比较不​​适用于名称中带有 HTML 实体的按钮

javascript - HTML将一个html文件中的一个div的内容加载到另一个html文件中

javascript - 如何将 json 文件导入 AngularJs 应用程序?