无法获取JavaScript对象的JSON

时间:2016-02-05 20:22:31

标签: javascript json

我正在创建像这样的JS对象

var eleDetailsTop = new Array();

var j = 0;
var id = "ele"+j;
eleDetailsTop[id] = {id: id, size : "40%", sizeLabel : 12, type : "image", title : "Image"};

现在,我试图将此对象转换为JSON ...

var fields = JSON.stringify(eleDetailsTop);

所以,我的问题是,这只会给出一个空的结果。

以下是我使用FireBug调试时得到的内容

enter image description here

正如您所看到的,其中有另一个名为wrappedJSobject的对象。如果您在其中进行了检查,则可以看到另一个wrappedJSobject,如此...

这是为什么?为什么这很奇怪?

2 个答案:

答案 0 :(得分:1)

您正在创建一个数组并为其分配字母数字属性。 试试这个:

var j = 0;
var id = "ele"+j;
eleDetailsTop[j] = {id: id, size : "40%", sizeLabel : 12, type : "image", title : "Image"};

编辑:如果你想使用id作为属性 - 将eleDetailsTop定义为对象:

var eleDetailsTop = {};

答案 1 :(得分:1)

如果你这样做:

var eleDetailsTop = {};

然后你可以分配像

这样的属性
eleDetailsTop[id] = {}

但是,如果你真的需要数组...这是行不通的,因为技术上没有js中的关联数组(它们是对象)。

<script>

    var test = {};

    test['iam1234'] = {};

    console.log(test);

</script>