在使用json报文时,我们经常要涉及到key-value的数据格式,其中key通常是字符串类型。但是,你是否曾经想过,能否使用数字作为key呢?下面我们来探讨一下这个问题。
// 假设我们有以下json数据 var data = { 1: '一', 2: '二', 3: '三' } // 使用数字key进行访问 console.log(data[1]) // '一' console.log(data[2]) // '二' console.log(data[3]) // '三' // 将json转成字符串 var jsonString = JSON.stringify(data) console.log(jsonString) // 十分正常的json字符串: {"1":"一","2":"二","3":"三"} // 使用点号访问 console.log(data.1) // 报错
可以看到,数字key在json中使用是完全没有问题的。我们可以通过data[key]或data.key的方式访问。但是在使用点号访问时,会发生错误。这是因为点号后面跟着的是标识符,而数字显然不符合标识符的定义。
总之,json中完全可以使用数字作为key,但是需要注意一些访问方式的限制。