如何访问API返回数据中以下划线开头的_source字段?
下划线开头字段的访问解决办法
先确认response.data.data的实际结构:从你提供的API数据来看,它大概率是数组格式(多条数据集合),或者单个包含_source的对象。
正确访问姿势
要是
response.data.data是单个对象:
直接用方括号或者点语法都能访问,两种写法都靠谱:// 方括号写法 const productLastData = response.data.data['_source'].product_last_data; // 点语法(JS支持下划线开头的属性访问) const productLastData = response.data.data._source.product_last_data;要是
response.data.data是数组(比如返回了多条结果):
得先选数组里的具体元素,比如取第一条数据的话:const productLastData = response.data.data[0]['_source'].product_last_data;
排坑步骤
要是按上面写还是不行,先排查这两点:
- 先打印
response.data.data看看真实结构,确认有没有_source字段:console.log(response.data.data); - 要是打印后没找到
_source,可能是你层级没找对——看数据结构截图,实际_source是在hits数组的元素里,说不定你得这么取:const productLastData = response.data.hits.hits[0]['_source'].product_last_data;
内容的提问来源于stack exchange,提问作者Dereemii
相关产品推荐
相关产品推荐

