一尘不染

将数字用作“索引”(JSON)

javascript

最近开始深入研究JSON,而我目前正在尝试使用数字作为“标识符”,但效果不太好。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会让我的生活更轻松。当然,还有其他解决方法,但是这种方法是首选。


阅读 376

收藏
2020-05-01

共1个答案

一尘不染

JSON仅允许键名称为字符串。这些字符串可以包含数值。

您虽然没有使用JSON。您有一个JavaScript对象文字。您 可以 将标识符用于键,但是标识符不能以数字开头。您仍然可以使用字符串。

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

如果使用点符号访问属性,则必须使用标识符。请改用方括号表示法:Game[0][0]

但是鉴于这些数据,数组似乎更有意义。

var Game={
    "status": [
        [
            "val",
            "val",
            "val"
        ],
        [
            "val",
            "val",
            "val"
        ]
    ]
}
2020-05-01