Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法获取JavaScript对象的JSON_Javascript_Json - Fatal编程技术网

无法获取JavaScript对象的JSON

无法获取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

我正在创建一个像这样的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调试时得到的结果

正如您所看到的,在这个文件中还有另一个名为
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问题)。