如何从Axios请求返回对象中访问@odata.nextLink属性
如何访问带特殊字符的OData响应属性
当属性名包含@、.这类特殊字符时,JavaScript的点语法无法直接使用——因为点语法要求属性名是合法标识符(不能以特殊字符开头,也不能包含.)。针对你遇到的@odata.nextLink属性,有两种常用的正确访问方式:
1. 方括号字符串键访问
直接用方括号包裹属性名的字符串形式来访问:
// 获取@odata.nextLink const nextLink = res.data['@odata.nextLink']; // 同理访问@odata.context const odataContext = res.data['@odata.context'];
2. ES6解构赋值(更简洁)
如果需要同时提取多个属性,可以用解构赋值,通过重命名规避特殊字符的影响:
const { '@odata.nextLink': nextLink, '@odata.context': odataContext, value: listingData } = res.data; // 之后直接使用变量即可 console.log(nextLink); // 输出下一页链接 console.log(listingData); // 输出房源数组
这两种方式都能正确获取带特殊字符的属性值,你可以根据代码场景选择合适的方式。
内容的提问来源于stack exchange,提问作者Acer79
相关产品推荐
相关产品推荐

