如何从JSON数组对象中获取open、high、low、close指定字段值?
问题原因与解决方法
你遇到的问题核心是搞混了数组和对象的访问逻辑:
stocksData是包含多个对象的数组,数组的访问规则是通过数字索引定位元素,而非直接使用对象的属性名。你直接写stocksData["open"],相当于在数组本身这个结构上查找open属性——数组根本没有这个属性,所以自然返回undefined。
正确的访问方式:
获取单个对象的
open值:先通过索引定位到数组里的具体对象,再访问它的open属性// 取第一个元素的open值 const open = stocksData[0].open; // 或者用方括号语法 const open = stocksData[0]["open"];获取所有对象的
open值:可以用数组的map方法批量提取,或者用循环逐个处理// 提取所有open值到新数组 const allOpenPrices = stocksData.map(item => item.open); // 或者用for循环逐个处理 for (const item of stocksData) { const currentOpen = item.open; // 这里可对每个open值做后续处理 }
另外,你尝试把stocksData转成JSON字符串再解析完全是多余操作——stocksData本身已经是解析好的数组对象,重复解析不会改变它的结构,当然解决不了问题。
内容的提问来源于stack exchange,提问作者Exsent
相关产品推荐
相关产品推荐

