API返回JSON含数字属性名,如何正确访问该属性?
解决JSON带数字属性名的访问问题
嘿,我太懂你遇到的这个坑了——JSON里带数字开头的属性名,用常规的点语法确实没法访问,我之前处理加密货币API数据时也踩过一模一样的雷!
针对你提到的24h_volume_usd这个属性,只需要换一种访问方式就能搞定:
- 正确的写法是用方括号语法,把属性名以字符串形式传进去:
var twentyfour_volume_usd = data[i]["24h_volume_usd"];
为啥点语法不行呢?因为JavaScript里的标识符(就是点后面的名称)规则是不能以数字开头的,24h_volume_usd刚好撞了这个限制,引擎直接就会判定语法错误。但方括号语法完全没这个约束,不管属性名里有数字、特殊字符还是空格,只要写成字符串就能正常读取。
以后再碰到类似带特殊格式的属性名,比如30d_change、_total_supply这类,都可以用这个方法解决。
内容的提问来源于stack exchange,提问作者PEPEGA
相关产品推荐
相关产品推荐

