Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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/9/blackberry/2.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 带括号定位的对象文字数组_Javascript - Fatal编程技术网

Javascript 带括号定位的对象文字数组

Javascript 带括号定位的对象文字数组,javascript,Javascript,我将这个对象设置为文字,但我不明白在激活后数组的右括号位置是什么。为什么我会错过括号错误 var players = { player1 : { active : true, [ { row : 1, square : 1 },

我将这个对象设置为文字,但我不明白在激活后数组的右括号位置是什么。为什么我会错过括号错误

    var players = {
            player1 : {
                active : true,
                [
                    {
                        row : 1,
                        square : 1
                    },{
                        row : 2,
                        square : 1
                    },{
                        row : 3,
                        square : 1
                    }
                ]
            }
        };
活动属性的值可以是布尔值true或数组。不可能两者都有

您需要将其更改为:

active : [ ... ]

或者其他一些有效的数据结构。

首先,这不是,它有时被称为对象文本

问题在于[这里:


在该值之前需要一个键。基本形式是key:value,其中key是属性的名称,在JavaScript中可以是标识符、数字或字符串;在JSON中,它必须是字符串,在双引号中不能是单引号,值是值。:-

active设置为2个值,true和数组。要测试JSON,use.

active是字典中的一个键。数组也必须获得一个键。那不是JSON。它是一个JavaScript对象literal.thanx,为什么不是JSON?@IlyaD:因为它是源代码,不是数据文本,也不是JSON指定的格式。JSON是一种文本数据表示法。如果你在写JavaScript源代码,你就是在写JavaScript对象初始值设定项。JSON是对象初始值设定项语法的子集,用于数据,而不是代码。一个随机差异:在JSON中,属性名称键必须在双引号中。在JavaScript中,它们不必在双引号中。另一个随机差异:JavaScript支持未定义为值,JSON不支持。JSON仅在字符串中才支持字符串文字双引号,JavaScript也支持单引号。感谢您的解释。在JSON中,所有键都必须使用双引号?@IlyaD:这取代了我在一月份的评论,这有点不正确。是的,请参阅答案中的链接。但是,由于您在那里做的不是JSON,而是可选的,因此您只需要在属性名称周围加引号,如果它们不是有效的标识符名称。例如,属性名1st:因为它不是一个有效的标识符名称,它以一个数字开头,所以不能执行{1st:foo},但可以执行{1st:foo}或{1st':foo}。在JSON中,只有{1st:foo}是有效的。在JavaScript中,键也可以是数字文本,例如{0:0,1:1}。而不是JSON。
active : true,
somethingElse : [ ... ]
active: true,
[