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

标签 javascript json identifier

最近开始深入研究 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 - Netsuite 外部 URL 调用

json - 错误 - jmeter.util.BeanShellInterpreter : Error invoking bsh method: eval Sourced file: inline evaluation of:

json - Foursquare在浏览器中获取并显示 field

javascript - 加载时自动点击 youtube 播放按钮

javascript - 如何使用 React 中的 Children 属性删除组件

forms - 如何在 <ui :repeat var> in id attribute of a JSF component 中使用 EL

java - Hibernate 中用于自动递增 MySQL 主键的 Java 注释是什么 - @Id

c++ - 如何解决这个未声明的标识符? (C++)

javascript - 如何获取名称为“part”的 JSON 字段#

php - 致命异常 AsyncTask #2?