You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历JSON.parse解析后的JSON对象?遇jsblog.fields未定义问题求助

问题解决:jsblog.fields is undefined

核心错误分析

  • 重复解析JSON:fetch的response.json()方法已经自动将响应体解析为JavaScript对象/数组,无需再调用JSON.parse(json_blogs)。重复解析会破坏原本的数据结构,导致后续访问出错。
  • 遍历逻辑错误:Django返回的是博客对象的数组,fields属性属于数组中的每个博客对象,而非数组本身。直接访问数组的fields属性自然会得到undefined。

修正后的代码

function load_blog(){
  let start_blog = 0
  let end_blog = 4

  fetch(`/blog/?start=${start_blog}&end_blog=${end_blog}`)
  .then(response => response.json())
  .then(blogs => {
    // 遍历返回的博客数组
    blogs.forEach(blog => {
      // 访问单个博客对象的fields属性并调用createDiv
      createDiv(blog.fields);
    });
  })
  .catch(error => {
    // 新增错误捕获,方便排查请求或解析问题
    console.error('加载博客数据失败:', error);
  });
}

额外说明

  • 如果Django返回的是单个博客对象而非数组,直接访问blogs.fields即可,但结合分页参数start和end_blog,返回数组的逻辑更合理。
  • 加入catch块可以快速定位请求失败、响应格式异常等问题,提升调试效率。

内容的提问来源于stack exchange,提问作者Matthew Manning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 03:52:13