javascript - 使用数字作为 "index"(JSON)

最近开始深入研究 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 之类的东西会让我的生活更轻松。当然还有其他的方法,但是这种方法是首选。

最佳答案

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"
        ]
    ]
}

关于javascript - 使用数字作为 "index"(JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8758715/

相关文章:

javascript - jQuery getJSON 将结果保存到变量中

javascript - 将两个 json/javascript 数组合并为一个数组

javascript - 如何检查 JavaScript 对象是否为 JSON

java - 如何使用 Jackson 反序列化 JS 日期?

json - 如何使用从字符串转换为 float64 的类型解码 JSON

json - 在 Excel VBA 中解析 JSON

java - 如何在 Postman 中上传文件和 JSON 数据?

javascript - JSON.stringify 的 jquery 等效项

json - 如何使用 Swift Decodable 协议(protocol)解码嵌套的 JSON

jquery - data.map 不是函数