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

如何通过WebRequest返回多维JSON?现有代码改造需求

实现多维JSON格式的请求响应

其实多维JSON本质就是嵌套结构的JSON——也就是JSON对象里包含数组、其他JSON对象,通过层层嵌套来满足复杂的数据结构需求。下面我给你几个常见后端框架的实现示例,你可以参考适配到自己的代码里:

Python Flask 示例

假设你要返回一个包含用户列表、每个用户订单信息的多维JSON,代码可以这么写:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/data', methods=['GET'])
def get_multidimensional_json():
    # 构造多维数据结构
    response_data = {
        "status": "success",
        "data": {
            "users": [
                {
                    "id": 1,
                    "name": "Alice",
                    "orders": [
                        {"order_id": 101, "product": "Laptop", "price": 999},
                        {"order_id": 102, "product": "Mouse", "price": 25}
                    ]
                },
                {
                    "id": 2,
                    "name": "Bob",
                    "orders": [
                        {"order_id": 201, "product": "Keyboard", "price": 50}
                    ]
                }
            ],
            "total_users": 2,
            "total_orders": 3
        }
    }
    # 返回JSON响应
    return jsonify(response_data)

if __name__ == '__main__':
    app.run(debug=True)

这段代码返回的就是标准的多维JSON,核心是先在Python里构造好嵌套的字典和列表,再用jsonify()直接序列化为JSON响应。

Node.js Express 示例

如果用Express框架,思路完全一致:先构造嵌套的JS对象,再用res.json()返回:

const express = require('express');
const app = express();

app.get('/api/data', (req, res) => {
    const responseData = {
        "status": "success",
        "data": {
            "users": [
                {
                    "id": 1,
                    "name": "Alice",
                    "orders": [
                        {"order_id": 101, "product": "Laptop", "price": 999},
                        {"order_id": 102, "product": "Mouse", "price": 25}
                    ]
                },
                {
                    "id": 2,
                    "name": "Bob",
                    "orders": [
                        {"order_id": 201, "product": "Keyboard", "price": 50}
                    ]
                }
            ],
            "total_users": 2,
            "total_orders": 3
        }
    };
    res.json(responseData);
});

app.listen(3000, () => {
    console.log('Server running on port 3000');
});

关键注意点

  • 不管用什么语言,核心都是先在代码里构建好合法的嵌套数据结构(对象套对象、对象套数组、数组套对象等),再用框架自带的JSON序列化工具返回。
  • 要避免循环引用(比如对象A包含对象B,对象B又包含对象A),这种情况会导致JSON序列化失败。

如果你的具体代码有特殊场景(比如从数据库查询数据组装),可以把代码贴出来,我再帮你调整适配~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:49:19