React新手求助:如何正确获取嵌套JSON中的ses数组并使用map?
如何正确获取JSON对象中的ses数组?
嘿,你这里的问题是访问路径层级搞错啦!让我们先拆解一下你的data对象结构:
const data = { "data": { "getses": { "Id": "C174", "Name": "My first", "Images": [...], "ses": [ { "Id": "C1757", "Name": "TEST1" }] // 这是你要找的目标数组 } } }
你之前尝试用data.data.ses获取数组,但实际上ses是嵌套在getses对象里面的,正确的访问路径应该是:
data.data.getses.ses
接下来给你一个React中使用map方法的示例:
// 在React组件中渲染ses数组内容 return ( <div className="ses-list"> {data.data.getses.ses.map(sesItem => ( <div key={sesItem.Id} className="ses-item"> {/* 必须添加唯一的key属性 */} <p>ID: {sesItem.Id}</p> <p>名称: {sesItem.Name}</p> </div> ))} </div> );
如果担心接口返回的数据可能存在层级缺失的情况(比如getses字段为空),可以用**可选链操作符?.**来避免报错:
data.data?.getses?.ses?.map(...)
这样即使中间某个属性不存在,代码也不会抛出错误,而是返回undefined,更安全。
内容的提问来源于stack exchange,提问作者ganesh kaspate
相关产品推荐
相关产品推荐

