无法获取JavaScript对象的JSON
我正在创建一个像这样的JS对象无法获取JavaScript对象的JSON,javascript,json,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
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调试时得到的结果
正如您所看到的,在这个文件中还有另一个名为wrappedJSobject
的对象。如果您在其中进行检查,您可以看到另一个wrappedJSobject
等等
为什么会这样?为什么会这样奇怪?您正在创建一个数组并为其分配字母数字属性。 试试这个:
var j = 0;
var id = "ele"+j;
eleDetailsTop[j] = {id: id, size : "40%", sizeLabel : 12, type : "image", title : "Image"};
编辑:如果要使用id作为属性定义的eleDetailsTop作为对象:
var eleDetailsTop = {};
您正在创建一个数组并为其指定字母数字属性。 试试这个:
var j = 0;
var id = "ele"+j;
eleDetailsTop[j] = {id: id, size : "40%", sizeLabel : 12, type : "image", title : "Image"};
编辑:如果要使用id作为属性定义的eleDetailsTop作为对象:
var eleDetailsTop = {};
如果您这样做:
var eleDetailsTop = {};
然后可以指定属性,如
eleDetailsTop[id] = {}
但是如果你真的需要阵列。。。这是行不通的,因为从技术上讲js中没有关联数组(它们是对象)
var检验={};
测试['iam1234']={};
控制台日志(测试);
如果您这样做:
var eleDetailsTop = {};
然后可以指定属性,如
eleDetailsTop[id] = {}
但是如果你真的需要阵列。。。这是行不通的,因为从技术上讲js中没有关联数组(它们是对象)
var检验={};
测试['iam1234']={};
控制台日志(测试);
当id
不是一个数字时,拥有eleDetailsTop[id]
意味着什么?如果你记录eleDetailsTop.length
,你就会明白为什么。你制作了eleDetailsTop
一个数组,却把它当作一个对象文字来填充。看起来您希望数组是关联的,这在技术上是禁止的。谢谢大家!我让它工作了当id
不是一个数字时,拥有eleDetailsTop[id]
意味着什么?如果你记录eleDetailsTop.length
,你就会明白为什么。你制作了eleDetailsTop
一个数组,却把它当作一个对象文本来填充。看起来您希望数组是关联的,这在技术上是禁止的。谢谢大家!我让它在银行工作,但我希望索引使用id
而不仅仅是j
。索引应该是类似于eleDetailsTop['ele2']
的字符串。。这可能吗?@tharinduluck然后声明var eleDetailsTop={}代码>作为对象。谢谢!我不知道:)不管怎样,我像你说的那样声明了对象,但是错误看起来还是一样的..:(@tharinduluck在这里工作:是的,我的不好。它在工作:)谢谢大家:)谢谢,但我希望索引使用id
而不仅仅是j
。索引应该是类似于eleDetailsTop['ele2']
的字符串。。这可能吗?@tharinduluck然后声明var eleDetailsTop={}代码>作为对象。谢谢!我不知道:)不管怎样,我像你说的那样声明了对象,但是错误看起来还是一样的..:(@tharinduluck在这里工作:是的,我的错。它在工作:)谢谢大家:)定义“工作”。完全可以为数组分配任意属性,但在转换为JSON时,您将无法包含这些属性。通过“工作”,我认为他将无法使用forEach之类的数组方法,但您完全正确,它与普通数组一样“工作”(除了JSON问题)。定义“工作”。完全可以将任意属性分配给数组,但在转换为JSON时,您将无法包含这些属性。通过“工作”,我认为他将无法使用forEach之类的数组方法,但您完全正确,它与普通数组一样“工作”(除了JSON问题)。