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

Python将JSON转列表及Django展示API返回JSON列表的最简方法

最简实现方案:JSON转Python列表 + Django API数据展示

嘿,这两个需求其实都能用Python和Django自带的工具轻松搞定,给你最简洁的实现方式:

1. 将输入JSON转换为Python列表

Python自带的json模块就能直接完成这个转换,完全不需要额外依赖:

  • 如果输入是JSON字符串,用json.loads()直接转成Python列表:

    import json
    
    # 示例JSON字符串(数组格式)
    input_json_str = '[{"id": 1, "title": "Item 1"}, {"id": 2, "title": "Item 2"}]'
    python_list = json.loads(input_json_str)
    
    # 验证类型:输出 <class 'list'>
    print(type(python_list))
    
  • 如果输入是JSON文件,用json.load()读取并转换:

    import json
    
    with open("input_data.json", "r") as f:
        python_list = json.load(f)
    

不管哪种情况,转换后直接得到Python列表,后续可以直接操作。

2. API获取数据转列表 + Django展示

你之前用json.dumps(data)输出全部数据,是因为把Python对象转成了JSON字符串,模板没法直接遍历。最简方式是在视图里把API返回的JSON直接转成Python列表,传给模板后循环渲染:

步骤1:视图层处理API请求

先确保安装了requests(用来调用API):pip install requests,然后在Django视图里写逻辑:

# views.py
import requests
from django.shortcuts import render

def api_data_display(request):
    # 调用目标API
    api_response = requests.get("https://your-api-endpoint.com/get-items")
    
    # 直接将API返回的JSON转为Python列表(如果API返回的是JSON数组)
    data_list = api_response.json()
    
    # 如果API返回的是单个JSON对象,把它包装成列表统一处理
    # data_list = [api_response.json()]

    # 把列表传给模板
    return render(request, "data_display.html", {"data_list": data_list})

步骤2:模板层渲染数据

在模板里直接遍历列表,展示每个字段:

<!-- templates/data_display.html -->
<h3>API获取的数据列表</h3>
<div class="data-container">
    {% for item in data_list %}
        <div class="data-item">
            <p>ID: {{ item.id }}</p>
            <p>内容: {{ item.content }}</p>
        </div>
    {% empty %}
        <p>暂无数据可展示</p>
    {% endfor %}
</div>

这样就能在Django页面上优雅地展示每个数据项,完全不用json.dumps(除非你需要在前端用JS处理数据,那再单独输出JSON字符串)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:00:47