JavaScript中如何访问JSON对象内带特殊字符的动态key并获取对应值
JavaScript访问带特殊字符键的方法
在JavaScript中,对于包含特殊字符、不符合标识符命名规则的对象键,统一使用方括号语法访问即可,不需要处理JSON序列化时的转义字符,JSON.parse解析后会自动还原为正常的字符串键名。
具体访问代码如下:
// 1. 先将JSON字符串解析为JS对象(如果本身已经是JS对象可跳过这一步) const targetData = JSON.parse('{"Listings":{"\\/#BestSellers":{"Title":"Best Sellers"}}}'); // 2. 用方括号传入完整键名字符串访问对应值 const bestSellersObj = targetData.Listings["/#BestSellers"]; // 如需进一步获取Title属性,可以直接接.访问 const bestSellersTitle = targetData.Listings["/#BestSellers"].Title;
说明
- 点访问符仅支持键名为合法JS标识符的场景(仅包含字母、数字、
$、_,且不以数字开头),只要键名包含其他特殊字符,都需要用方括号语法访问。 - JSON中看到的
\/是序列化时的转义写法,解析为JS对象后键名实际就是/#BestSellers,直接用这个字符串作为键名访问即可。
内容的提问来源于stack exchange,提问作者Sarath Dixit
相关产品推荐
相关产品推荐

