如何在jQuery中访问常规JSON对象及data对象的所有值
访问对象值的方法说明
先明确示例的响应对象结构(已整理为标准JS对象):
const apiResponse = { status: "202", data: { 1: 'Sector-5', 2: 'Sector-20', 3: 'abc', 4: 'Kalka', 5: 'Pinjore', 6: 'Sector-14', 7: 'Sector-7', 8: 'MDC', 9: 'WPS', 10: 'cde', 11: 'efg' } };
一、常规JS访问方式
1. 访问单个属性值
- 顶层属性(如
status):- 点符号:
apiResponse.status→ 返回"202" - 方括号:
apiResponse['status']→ 效果完全一致
- 点符号:
data子对象的单个值(数字键需用方括号访问,点符号不支持直接数字键):apiResponse.data[1]→ 返回"Sector-5"apiResponse.data['3']→ 返回"abc"
2. 遍历data的所有值
- 使用
Object.values()快速获取所有值的数组:const allDataValues = Object.values(apiResponse.data); // 结果:["Sector-5", "Sector-20", "abc", "Kalka", "Pinjore", "Sector-14", "Sector-7", "MDC", "WPS", "cde", "efg"] - 使用
for...in循环逐个访问:for (const key in apiResponse.data) { // 确保只遍历对象自身属性,排除原型链属性 if (apiResponse.data.hasOwnProperty(key)) { console.log(apiResponse.data[key]); // 依次输出每个值 } }
二、jQuery中的访问方式
使用jQuery的$.each()方法遍历data对象,直接获取所有值:
1. 逐个输出值
$.each(apiResponse.data, function(key, value) { console.log(value); // 依次打印每个值 });
2. 收集所有值到数组
const dataValues = []; $.each(apiResponse.data, function(key, value) { dataValues.push(value); }); console.log(dataValues); // 得到所有值组成的数组
内容的提问来源于stack exchange,提问作者Amit Dhiman
相关产品推荐
相关产品推荐

