【发布时间】:2020-02-26 17:36:31
【问题描述】:
我正在尝试使用本机 Flask 创建一个 API,使用 request.get_json 我期望(从我看过的每个教程或视频中)会返回一个字典 - 但它是一个列表。从列表中获取数据比从字典中获取数据更难。
这篇文章来自一个 Powershell 核心脚本,它通过 import-csv 读取 CSV 文件,执行转换为 json,并使用 -ContentType "application/json" 调用 webrequest
我在 powershell 中输出了 JSON,并将其放入 jsonlint.com - 它说它是有效的 JSON。开始(和结束)括号让我看看它是否是一个列表中的一系列字典 - 确实如此。
JSON 片段:
[ { “采购订单”:“12345678”, “供应商”:“奔驰”, “仓库”:“BEZRS1”, "ASIN": "B07ZLJ7DPG", “外部ID”:“1234567890”, “目录”:“90210”, “标题”:“Persil”, “窗口类型”:“交货窗口”, “预计日期”:“2020 年 2 月 17 日”, “要求数量”:“18”, “接受数量”:“18”, “接收数量”:“0”, “未完成数量”:“8”, “单价”:“19.39”, "折扣(%)": "0", “单位成本”:“19.39”, “总成本”:“175.12” }, { “采购订单”:“987654321”, “供应商”:“奔驰”,
Powershell:
$payload = $file | convertto-json
Invoke-RestMethod -Uri http://127.0.0.1:5000/api -body $payload -method post -ContentType "application/json"
Flask(打印出来调试):
@app.route('/api', methods=['POST'])
def get_order():
data = request.get_json()
print(type(data))
purchaseorder = data[0]
print(purchaseorder)
return jsonify(data)
【问题讨论】:
-
你能包含
$payload的输出吗?