1. ホーム
  2. javascript

[解決済み] インデックスとして数値を使用する(JSON)

2023-01-08 02:59:27

質問

最近JSONに手を出し始めて、現在数字を"identifier"として使おうとしていますが、あまりうまくいきません。 foo:"bar" はうまくいくのですが 0:"bar" は動作しません。

var Game = {
    status: [
                {
                    0:"val",
                    1:"val",
                    2:"val"
                },
                {
                    0:"val",
                    1:"val",
                    2:"val"
                }
           ]
}

alert(Game.status[0].0);

のようなやり方はないのでしょうか?次のようなものです。 Game.status[0].0 そうすれば、私の人生はずっと楽になります。もちろん、他の方法もありますが、この方法が望ましいです。

どのように解決するのですか?

JSONはキー名を文字列にしかできません。その文字列は数値で構成することができます。

あなたはJSONを使っていませんね。JavaScriptのオブジェクトリテラルを使用しています。あなたは しかし、識別子は数字で始めることはできません。しかし、文字列を使用することは可能です。

var Game={
    "status": [
        {
            "0": "val",
            "1": "val",
            "2": "val"
        },
        {
            "0": "val",
            "1": "val",
            "2": "val"
        }
    ]
}

ドット記法でプロパティにアクセスする場合、識別子を使用しなければなりません。代わりに角括弧表記を使用します。 Game.status[0][0] .

しかし、このデータから考えると、配列の方が理にかなっているように思えます。

var Game={
    "status": [
        [
            "val",
            "val",
            "val"
        ],
        [
            "val",
            "val",
            "val"
        ]
    ]
}