如何在JavaScript中获取Teleport API返回JSON里带冒号键的href值
带特殊字符的JS对象属性访问方法
当需要访问的对象属性名包含冒号、空格等不符合JavaScript标识符命名规则的字符时,使用方括号属性访问语法即可完成取值,具体实现如下:
假设你调用Teleport API拿到的返回数据对象名为response,提取目标href的代码为:
const targetHref = response._embedded['city:search-results'][0]._links['city:item'].href;
原理解释
- JavaScript提供两种对象属性访问方式:点语法、方括号语法
- 点语法仅支持命名符合规则的属性(仅能包含字母、数字、下划线、$,不能以数字开头),无法处理带特殊字符的属性名
- 方括号语法支持传入任意字符串作为属性名,只需要把完整属性名用引号包裹后放在方括号内,即可正常读取对应属性值
如果需要提取全部25条搜索结果的href,可以用遍历实现:
const allHrefList = response._embedded['city:search-results'].map(item => { return item._links['city:item'].href })
内容的提问来源于stack exchange,提问作者Bronx.
相关产品推荐
相关产品推荐

