0

このオブジェクトをリテラルにしましたが、後に続く配列の正しい角かっこが何であるかわかりませんactive。角かっこが見つからないというエラーが発生するのはなぜですか?

    var players = {
            player1 : {
                active : true,
                [
                    {
                        row : 1,
                        square : 1
                    },{
                        row : 2,
                        square : 1
                    },{
                        row : 3,
                        square : 1
                    }
                ]
            }
        };
4

3 に答える 3

4

activeプロパティの値は、ブール値trueまたは配列のいずれかです。両方にすることはできません。

次のいずれかに変更する必要があります。

active : [ ... ]

また

active : true,
somethingElse : [ ... ]

または他の有効なデータ構造。

于 2013-01-12T12:54:55.560 に答える
3

まず、これはJSONではなく、JavaScriptオブジェクト初期化子(「オブジェクトリテラル」と呼ばれることもあります)です。

問題は[ここにあります:

active: true,
[

その値の前にキーが必要です。基本的な形式はですkey: value。ここで、キーはプロパティの名前(JavaScriptでは識別子、数値、または文字列にすることができます。JSONでは文字列である必要があります。二重引用符では一重引用符ではありません)と値まあ、値です。:-)

于 2013-01-12T12:55:23.927 に答える
0

activeは2つの値に設定されtrue、配列が設定されます。JSONをテストするには、http://jsonlint.com/を使用します。

于 2013-01-12T12:55:25.903 に答える