奋进的小羊 2024-04-11 21:57 采纳率: 66.7%
浏览 11
已结题

javaScrip 如何获取 JSON 文件里面的数据(多组多行)?

刷视频刷到别人自玩APP项目很嗨,想来自己捣鼓捣鼓玩玩儿,但是卡壳了,json文件里面有一个多组并且多行的json格式的数组,目前可以获取到数组名和数组个数,但就是获取不到数组的index 和内容,还望广大同志们施以援手,帮我解解惑,感激不尽。

img

img

img

  • 写回答

7条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-11 21:57
    关注

    引自免费微信小程序:皆我百晓生

    在 JavaScript 中,你可以使用 fetch 函数来从 JSON 文件中获取数据。针对你提供的 JSON 数据,我们可以看到它是一个对象,其中包含了两个数组 aaabbb。要获取数组的行索引和键值对,你可以按照以下步骤操作:

    1. 首先,确保你正确地导入了 fetch,并处理可能出现的 Promise。这里是一个完整的示例代码片段:
    async function fetchData() {
      try {
        const response = await fetch('json/config.json'); // 替换为你的 JSON 文件的实际路径
        if (!response.ok) {
          throw new Error(`HTTP error! status: ${response.status}`);
        }
        const jsonData = await response.json(); // 解析 JSON 数据
        console.log("Data:", jsonData); // 打印整个 JSON 对象
    
        // 获取数组名
        const arrayNames = Object.keys(jsonData);
        for (let i = 0; i < arrayNames.length; i++) {
          const arrayName = arrayNames[i];
          const array = jsonData[arrayName];
    
          // 遍历数组获取行索引和键值对
          for (let j = 0; j < array.length; j++) {
            const rowIndex = i * array.length + j;
            console.log(`Row index: ${rowIndex}`);
            console.log(`Key: ${Object.keys(array[j])}, Value: ${array[j]}`);
          }
        }
      } catch (error) {
        console.error("Error fetching data:", error);
      }
    }
    
    fetchData();
    

    这段代码首先异步加载 JSON 文件,然后遍历数组,获取每个数组的行索引(基于数组在对象中的位置计算),以及每个元素的键和值。

    如果你的 JSON 文件结构有变化,可能需要调整解析方式。如果数据存储在嵌套的对象或数组中,你需要递归地访问。根据图3中的代码,看起来你已经有了获取数组名和长度的基本思路,只需要在循环内部添加获取键值对的部分即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月17日
  • 创建了问题 4月11日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大